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

# Deploy to a remote GPU

> Provision a remote GPU VM with NemoClaw using Brev. Covers prerequisites, the deploy command, connecting to the sandbox, and monitoring.

# Deploy to a remote GPU

<Warning>
  The `nemoclaw deploy` command is experimental and may not work as expected in all environments.
</Warning>

Run NemoClaw on a remote GPU instance through [Brev](https://brev.nvidia.com). The deploy command provisions the VM, installs all prerequisites, and connects you to a running sandbox automatically.

## Prerequisites

* The [Brev CLI](https://brev.nvidia.com) installed and authenticated on your local machine.
* An NVIDIA API key from [build.nvidia.com](https://build.nvidia.com).
* NemoClaw installed locally. Follow the [Quickstart](/get-started/quickstart) install steps.

## Deploy the instance

<Steps>
  <Step title="Export your API key">
    Set your NVIDIA API key in the environment. The deploy script forwards this to the remote VM:

    ```bash theme={null}
    export NVIDIA_API_KEY=nvapi-...
    ```
  </Step>

  <Step title="Run the deploy command">
    Create a Brev instance and run the full NemoClaw setup:

    ```bash theme={null}
    nemoclaw deploy my-gpu-box
    ```

    Replace `my-gpu-box` with a name for your remote instance.

    The deploy script (`scripts/brev-setup.sh`) performs these steps on the VM:

    1. Installs Node.js if not present.
    2. Installs Docker if not present and adds the current user to the `docker` group.
    3. Installs the NVIDIA Container Toolkit if a GPU is detected.
    4. Downloads and installs the `openshell` CLI binary from the GitHub release.
    5. Installs `cloudflared` for the public tunnel.
    6. Installs vLLM if a GPU is present and starts the model server.
    7. Runs `setup.sh` to create the gateway, register inference providers, and launch the sandbox.
  </Step>

  <Step title="Connect to the sandbox">
    After deployment finishes, the deploy command opens an interactive shell inside the remote sandbox. To reconnect after closing the session, run the same command again:

    ```bash theme={null}
    nemoclaw deploy my-gpu-box
    ```
  </Step>
</Steps>

## Select a GPU type

The deploy script reads the `NEMOCLAW_GPU` environment variable to select the GPU configuration. The default is `a2-highgpu-1g:nvidia-tesla-a100:1`.

Set this variable before deploying to use a different GPU type or count:

```bash theme={null}
export NEMOCLAW_GPU="a2-highgpu-1g:nvidia-tesla-a100:2"
nemoclaw deploy my-gpu-box
```

## Monitor the remote sandbox

To monitor activity and approve network requests, SSH to the instance and open the OpenShell TUI:

```bash theme={null}
ssh my-gpu-box 'cd /home/ubuntu/nemoclaw && set -a && . .env && set +a && openshell term'
```

The TUI shows live network activity from inside the sandbox, blocked egress requests awaiting approval, and the active inference provider.

## Verify inference on the remote sandbox

Run a test agent prompt inside the remote sandbox to confirm inference is working:

```bash theme={null}
openclaw agent --agent main --local -m "Hello from the remote sandbox" --session-id test
```

If the request fails:

1. Run `openclaw nemoclaw status` to confirm the active provider and endpoint.
2. Run `openclaw nemoclaw logs -f` to view error output from the blueprint runner.
3. Verify the inference endpoint is reachable from the remote host.

## What the bootstrap installs

| Component                | Notes                                                                                                       |
| ------------------------ | ----------------------------------------------------------------------------------------------------------- |
| Docker                   | Installed via `apt` if not present. User is added to the `docker` group.                                    |
| NVIDIA Container Toolkit | Installed only if `nvidia-smi` is available on the VM.                                                      |
| `openshell` CLI          | Downloaded as a pre-built binary from the NVIDIA/OpenShell GitHub release. Supports `x86_64` and `aarch64`. |
| `cloudflared`            | Installed for external tunnel access to the sandbox.                                                        |
| vLLM                     | Installed via `pip` if a GPU is present. Starts `nvidia/nemotron-3-nano-30b-a3b` on port `8000`.            |

<Info>
  On fresh Brev VMs, Docker's group membership does not take effect in the current shell session. The bootstrap script uses `sg docker` to work around this without requiring a re-login.
</Info>

## Related topics

<CardGroup cols={2}>
  <Card title="Set up the Telegram bridge" icon="send" href="/deployment/set-up-telegram-bridge">
    Interact with the remote agent through a Telegram bot.
  </Card>

  <Card title="Monitor sandbox activity" icon="chart-line" href="/monitoring/monitor-sandbox-activity">
    Use status, logs, and the TUI to inspect the remote sandbox.
  </Card>

  <Card title="Approve network requests" icon="shield-check" href="/network-policy/approve-network-requests">
    Handle egress approval prompts from the remote sandbox TUI.
  </Card>
</CardGroup>
