Skip to main content

Deploy to a remote GPU

The nemoclaw deploy command is experimental and may not work as expected in all environments.
Run NemoClaw on a remote GPU instance through Brev. The deploy command provisions the VM, installs all prerequisites, and connects you to a running sandbox automatically.

Prerequisites

  • The Brev CLI installed and authenticated on your local machine.
  • An NVIDIA API key from build.nvidia.com.
  • NemoClaw installed locally. Follow the Quickstart install steps.

Deploy the instance

1

Export your API key

Set your NVIDIA API key in the environment. The deploy script forwards this to the remote VM:
export NVIDIA_API_KEY=nvapi-...
2

Run the deploy command

Create a Brev instance and run the full NemoClaw setup:
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.
3

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:
nemoclaw deploy my-gpu-box

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:
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:
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:
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

ComponentNotes
DockerInstalled via apt if not present. User is added to the docker group.
NVIDIA Container ToolkitInstalled only if nvidia-smi is available on the VM.
openshell CLIDownloaded as a pre-built binary from the NVIDIA/OpenShell GitHub release. Supports x86_64 and aarch64.
cloudflaredInstalled for external tunnel access to the sandbox.
vLLMInstalled via pip if a GPU is present. Starts nvidia/nemotron-3-nano-30b-a3b on port 8000.
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.

Set up the Telegram bridge

Interact with the remote agent through a Telegram bot.

Monitor sandbox activity

Use status, logs, and the TUI to inspect the remote sandbox.

Approve network requests

Handle egress approval prompts from the remote sandbox TUI.

Build docs developers (and LLMs) love