Deploy NemoClaw to a Remote GPU Instance
Run NemoClaw on a remote GPU instance through Brev.
Prefer provisioning the VM first, running the standard NemoClaw installer on that host, and then running nemoclaw onboard.
Prerequisites
- Access to a remote GPU VM that can run Docker and the NVIDIA Container Toolkit.
- The Brev CLI installed and authenticated if you provision the VM with Brev.
- A provider credential for the inference backend you want to use during onboarding.
HF_TOKENorHUGGING_FACE_HUB_TOKENexported when your remote vLLM or Hugging Face workflow needs access to gated models.- NemoClaw installed locally if you plan to use the deprecated
nemoclaw deploywrapper. Otherwise, install NemoClaw directly on the remote host after provisioning it.
Preferred Deployment Path
Provision the remote GPU VM first, then run the normal installer and onboard flow on that VM.
For Brev, <instance-name> is the instance name and SSH alias created by the Brev CLI.
For another cloud provider, replace the provisioning and SSH commands with that provider’s console or CLI workflow.
If brev is missing or unauthenticated, install or log in to the Brev CLI first, or provision the VM through your cloud console and connect with ssh <user>@<host>.
For Brev, create a dashboard tunnel before you connect to the VM.
Open the instance in the Brev console, go to the Access tab, and add a tunnel for port 18789.
Copy the generated tunnel URL.
Brev tunnel URLs are non-loopback origins.
When CHAT_UI_URL points at one, NemoClaw disables OpenClaw device pairing in the generated sandbox configuration because browser-only remote users cannot complete terminal-based pairing.
Avoid exposing the dashboard on internet-reachable or shared-network deployments unless you intend that access.
List instances from your local machine:
Connect to the remote VM:
Set any remote-only environment variables on the VM before onboarding. For example, set the browser origin if you will open the dashboard through a Brev public URL, raise the first-run readiness budget on cold cloud hosts, and then run the installer:
Use the origin from the Brev tunnel URL.
For example, if the copied URL is https://example.host/path, set CHAT_UI_URL=https://example.host.
If NemoClaw is already installed on the VM, run nemoclaw onboard instead of the installer after exporting the variables.
After successful onboarding, NemoClaw prints output that reports a ready sandbox and the next command to connect:
Legacy Brev Compatibility
The nemoclaw deploy command is deprecated.
Prefer provisioning the remote host separately, then running the standard NemoClaw installer and nemoclaw onboard on that host.
Use the legacy compatibility wrapper only when you need the older Brev-specific bootstrap flow.
Replace <instance-name> with a name for your remote instance, for example my-gpu-box.
The sandbox created on the remote VM uses NEMOCLAW_SANDBOX_NAME, or my-assistant when the variable is unset.
Sandbox names must be lowercase, start with a letter, contain only letters, numbers, and internal hyphens, and end with a letter or number.
The deploy wrapper validates the sandbox name before it provisions the Brev instance, opens SSH, or starts the remote installer.
The legacy compatibility flow performs the following steps on the VM:
- Installs Docker and the NVIDIA Container Toolkit if a GPU is present.
- Installs the OpenShell CLI.
- Runs
nemoclaw onboard(the setup wizard) to create the gateway, register providers, and launch the sandbox. - Starts optional host auxiliary services, such as the cloudflared tunnel, when
cloudflaredis available. Onboarding configures channel messaging, and the channels run through OpenShell-managed processes, not throughnemoclaw tunnel start.
By default, the compatibility wrapper asks Brev to provision on gcp. Override this with NEMOCLAW_BREV_PROVIDER if you need a different Brev cloud provider.
If you export HF_TOKEN or HUGGING_FACE_HUB_TOKEN, the wrapper forwards those values to the VM so remote setup can pull gated Hugging Face model repositories.
Connect to the Remote Sandbox
After onboarding finishes, run the host CLI on the remote VM:
If you used the deprecated Brev compatibility wrapper, the wrapper opens an interactive shell inside the remote sandbox.
To reconnect through that legacy flow, run nemoclaw deploy <instance-name> again.
Monitor the Remote Sandbox
Connect to the instance with SSH and run the OpenShell TUI on the remote VM to monitor activity and approve network requests:
Verify Inference
Run a test agent prompt from the remote VM host:
Remote Dashboard Access
The NemoClaw dashboard validates the browser origin against an allowlist baked into the sandbox image at build time.
By default, the allowlist only contains http://127.0.0.1:18789.
When you access the dashboard from a remote browser, for example through a Brev tunnel URL or an SSH port-forward, set CHAT_UI_URL to the origin the browser uses before running nemoclaw onboard on the remote VM.
For Brev, create a tunnel for port 18789 in the instance Access tab and copy the generated URL origin:
For SSH port-forwarding, the origin is typically the default http://127.0.0.1:18789, so you do not need extra configuration.
Forward the dashboard port from your workstation, substituting the port NemoClaw printed in the install summary (18789 by default, or the next free port such as 18790):
When you run nemoclaw over SSH, the install summary and nemoclaw <sandbox> dashboard-url print this command for you, filled in with your remote username and the forwarded dashboard port.
The host stays a <host> placeholder that you replace with the address you SSH to, because NemoClaw cannot reliably recover it through an SSH config alias, NAT, or a jump host.
Then open the dashboard URL on your workstation.
On Brev, set CHAT_UI_URL in the launchable environment configuration so the installer can read it when it builds the sandbox image.
If you do not set CHAT_UI_URL on a headless host, the compatibility wrapper prints a warning.
NEMOCLAW_DISABLE_DEVICE_AUTH is also evaluated at image build time.
When CHAT_UI_URL points at a non-loopback origin, NemoClaw disables OpenClaw device pairing in the generated sandbox configuration because browser-only remote users cannot complete terminal-based pairing.
Any device that can reach the configured dashboard origin can connect without pairing, so avoid exposing that origin on internet-reachable or shared-network deployments.
First-Run Readiness Budget
On a remote GPU host, the first nemoclaw onboard usually performs the slowest lifecycle work.
The host builds the sandbox image locally and uploads it into the OpenShell gateway, which can stream hundreds of MiB over the VM’s link before the readiness wait starts.
The post-create readiness wait defaults to 180 seconds (NEMOCLAW_SANDBOX_READY_TIMEOUT), which fits warm-cache, workstation-class onboarding but can be too short for:
- DGX Station first runs with large quantized models (70B+ parameter footprints, NVFP4 weights).
- Cloud VMs where the local image-build cache is cold and the upload runs over the public network.
- Hosts enabling a web search provider on the first run because the provider and egress policy stack add boot work.
Raise the budget before re-running onboard:
If onboard ends with Sandbox '<name>' was created but did not become ready within 180s, onboard first deletes the partially created sandbox, so the next attempt with the raised budget starts from a clean state.
For the inference-probe budget that runs earlier in onboarding, refer to Configure Inference Timeouts.
Proxy Configuration
NemoClaw routes sandbox traffic through a gateway proxy that defaults to 10.200.0.1:3128.
If your network requires a different proxy, set NEMOCLAW_PROXY_HOST and NEMOCLAW_PROXY_PORT before onboarding:
NemoClaw bakes these values into the sandbox image at build time.
NemoClaw also forwards them into the runtime container during sandbox creation, so /tmp/nemoclaw-proxy-env.sh uses the same host and port that the image build used.
NemoClaw accepts only alphanumeric characters, dots, hyphens, and colons for the host.
The port must be numeric (0-65535).
Changing the proxy after onboarding requires re-running nemoclaw onboard.
GPU Configuration
The deprecated Brev compatibility wrapper uses the NEMOCLAW_GPU environment variable to select the GPU type.
The default value is a2-highgpu-1g:nvidia-tesla-a100:1.
That value is specific to GCP-backed Brev instances.
Other Brev providers or cloud consoles use different GPU type strings.
Set this variable before running the deprecated wrapper to use a different GPU configuration:
Related Topics
- Choose Messaging Channels to connect Telegram, Discord, or Slack through OpenShell-managed channel messaging.
- Monitor Sandbox Activity for sandbox monitoring tools.
nemoclaw deployfor the fulldeploycommand reference.