> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nebius.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Getting started with Serverless AI Devlabs: Deploy JupyterLab®

Serverless AI Devlabs provide an interactive environment for coding and prototyping without the need to manage infrastructure. This quickstart shows how to create a Devlab from the JupyterLab® template and open it in your browser.

## Prerequisites

<Tabs group="interfaces">
  <Tab title="Web console">
    * Make sure you are in a [group](/iam/authorization/groups/index) that has at least the `editor` role within your tenant or project; for example, the default `editors` group. You can check this in the [Administration → IAM](https://console.nebius.com/iam) section of the web console.

    * In the [Administration → Limits → Quotas](https://console.nebius.com/quota) section, check the following quotas:

      * **Number of virtual machines** (VMs) under **Compute**: make sure that at least one VM is available.
      * **Total number of allocations** under **Virtual Private Cloud**: make sure that at least one allocation is available.

      If necessary, [increase the quotas](/overview/quotas#change-quotas).
  </Tab>

  <Tab title="CLI">
    * Make sure you are in a [group](/iam/authorization/groups/index) that has at least the `editor` role within your tenant or project; for example, the default `editors` group. You can check this in the [Administration → IAM](https://console.nebius.com/iam) section of the web console.

    * In the [Administration → Limits → Quotas](https://console.nebius.com/quota) section, check the following quotas:

      * **Number of virtual machines** (VMs) under **Compute**: make sure that at least one VM is available.
      * **Total number of allocations** under **Virtual Private Cloud**: make sure that at least one allocation is available.

      If necessary, [increase the quotas](/overview/quotas#change-quotas).

    * [Install](/cli/install) and [configure](/cli/configure) the Nebius AI Cloud CLI.

      Check that your project ID is saved in the Nebius AI Cloud CLI profile configuration:

      ```bash theme={null}
      cat ~/.nebius/config.yaml
      ```
  </Tab>
</Tabs>

## Steps

### Create a Devlab

<Tabs group="interfaces">
  <Tab title="Web console">
    1. In the sidebar, go to <Icon icon="https://mintcdn.com/nebius-ai-cloud/rOlLZ_MFvrheaI-h/_assets/sidebar/serverless-ai.svg?fit=max&auto=format&n=rOlLZ_MFvrheaI-h&q=85&s=4c90b50c6c33e6bff000b87b8e37765a" width="16" height="16" data-path="_assets/sidebar/serverless-ai.svg" /> **Serverless AI** → **Devlabs**.
    2. Click <Icon icon="https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/plus.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=7c9efc69d65fc58db0eb73702fd81aa1" width="16" height="16" data-path="_assets/plus.svg" /> **Create Devlab**, choose **Template**, and select **JupyterLab**.
    3. Review the prefilled Devlab settings. The console generates the Jupyter token automatically. Copy and save the token securely.
    4. Click **Create Devlab**.
  </Tab>

  <Tab title="CLI">
    1. Create a random Jupyter token of exactly 16 alphanumeric characters. For example:

       ```bash theme={null}
       export JUPYTER_TOKEN=$(openssl rand -hex 8)
       ```

    2. Create a Devlab from the JupyterLab template:

       ```bash theme={null}
       nebius ai devlab create \
         --name my-jupyter \
         --template jupyter \
         --input jupyter_token=$JUPYTER_TOKEN
       ```

       The command uses the following parameters:

       * `--name`: Devlab name.
       * `--template`: Template to use. In this quickstart, use `jupyter` for the JupyterLab template.
       * `--input jupyter_token=<token>`: Jupyter token that you provide. The token must consist of 16 alphanumeric characters.

       `--platform`, `--preset` and `--disk-size` are optional. If you omit them, the CLI selects the default GPU platform, the smallest suitable preset and a 250 GiB disk.

       Save the Devlab ID from the create command output. You will need it in the next steps.
  </Tab>
</Tabs>

Wait for the Devlab to start running.

### Open JupyterLab

When the Devlab is running, open its managed HTTPS URL in a browser. A public IP address is not required.

<Tabs group="interfaces">
  <Tab title="Web console">
    1. In the sidebar, go to <Icon icon="https://mintcdn.com/nebius-ai-cloud/rOlLZ_MFvrheaI-h/_assets/sidebar/serverless-ai.svg?fit=max&auto=format&n=rOlLZ_MFvrheaI-h&q=85&s=4c90b50c6c33e6bff000b87b8e37765a" width="16" height="16" data-path="_assets/sidebar/serverless-ai.svg" /> **Serverless AI** → **Devlabs**.
    2. Open the page of the required Devlab.
    3. Wait until the Devlab is running. Then, in the **Network** section, copy the public Devlab address from the **Public Devlabs** field.
    4. In a browser, open the URL and enter the Jupyter token in the JupyterLab password field. Use the token that the console generated when you created the Devlab.
  </Tab>

  <Tab title="CLI">
    1. List Devlabs and copy the ID of the Devlab that you created (`my-jupyter`):

       ```bash theme={null}
       nebius ai devlab list
       ```

       You can also copy the Devlab ID from the create command output, if it was printed, or from the overview page in the web console. The ID is shown under the Devlab name.

    2. Save the Devlab ID to an environment variable:

       ```bash theme={null}
       export DEVLAB_ID=<devlab_ID>
       ```

    3. Get the Devlab details and copy the HTTPS URL from the output:

       ```bash theme={null}
       nebius ai devlab get "$DEVLAB_ID"
       ```

    4. In a browser, open the HTTPS URL and enter the Jupyter token in the JupyterLab password field. Use the `$JUPYTER_TOKEN` value that you set at create time.
  </Tab>
</Tabs>

### View logs

<Tabs group="interfaces">
  <Tab title="Web console">
    1. In the sidebar, go to <Icon icon="https://mintcdn.com/nebius-ai-cloud/rOlLZ_MFvrheaI-h/_assets/sidebar/serverless-ai.svg?fit=max&auto=format&n=rOlLZ_MFvrheaI-h&q=85&s=4c90b50c6c33e6bff000b87b8e37765a" width="16" height="16" data-path="_assets/sidebar/serverless-ai.svg" /> **Serverless AI** → **Devlabs**.
    2. In the Devlab list, next to the Devlab, click **View logs**. Alternatively, click <Icon icon="https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/button-vellipsis.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=e80b8e57c43bfd117679262e6a1334ad" width="12" height="24" data-path="_assets/button-vellipsis.svg" /> → **View logs**.
  </Tab>

  <Tab title="CLI">
    View Devlab logs:

    ```bash theme={null}
    nebius ai devlab logs "$DEVLAB_ID" --follow
    ```
  </Tab>
</Tabs>

## Expected results

* The JupyterLab Devlab reaches the **Running** status.
* You can open JupyterLab from the managed HTTPS URL and sign in with the Jupyter token in the password field.
* You can view Devlab logs.

## Delete the Devlab

If you no longer need the Devlab, delete it. Once you delete the Devlab, you will not be charged for its computing resources or container disk.

<Tabs group="interfaces">
  <Tab title="Web console">
    1. In the sidebar, go to <Icon icon="https://mintcdn.com/nebius-ai-cloud/rOlLZ_MFvrheaI-h/_assets/sidebar/serverless-ai.svg?fit=max&auto=format&n=rOlLZ_MFvrheaI-h&q=85&s=4c90b50c6c33e6bff000b87b8e37765a" width="16" height="16" data-path="_assets/sidebar/serverless-ai.svg" /> **Serverless AI** → **Devlabs**.
    2. In the Devlab list, find the Devlab and click <Icon icon="https://mintcdn.com/nebius-ai-cloud/1Ha0sWR6e1mnIaHS/_assets/button-vellipsis.svg?fit=max&auto=format&n=1Ha0sWR6e1mnIaHS&q=85&s=e80b8e57c43bfd117679262e6a1334ad" width="12" height="24" data-path="_assets/button-vellipsis.svg" /> → **Delete**.
    3. Confirm the Devlab deletion.
  </Tab>

  <Tab title="CLI">
    ```bash theme={null}
    nebius ai devlab delete "$DEVLAB_ID"
    ```
  </Tab>
</Tabs>

## See also

* [Managing Devlabs in Serverless AI](/serverless/devlabs/manage)
* [About Serverless AI](/serverless/overview)

*"Jupyter" and the Jupyter logos are trademarks or registered trademarks of LF Charities, used by Nebius B.V. with permission.*
