Security-conscious teams testing agent guardrails
Use a VPS when policies, permissions, logs, and runtime isolation need to be reviewed separately from daily local workstations.
This guide explains how to self-host NemoClaw on a VPS so the runtime can live in a persistent remote environment instead of depending on a local machine. Virtarix provides the VPS infrastructure: NVMe storage, full root access, global locations, and an always-on server environment. You bring your own NemoClaw setup, provider access, API keys, repositories, tools, and configuration.
This page is for users who want NemoClaw-related experiments to run inside a narrow, controlled VPS boundary instead of a local workstation.
Use a VPS when policies, permissions, logs, and runtime isolation need to be reviewed separately from daily local workstations.
Keep guardrail tests, command permissions, OpenShell-related requirements, and rollback notes in a dedicated server environment.
Use a disposable or tightly controlled VPS while comparing repository instructions, dependencies, and early-preview limitations.
Virtarix supplies self-managed VPS infrastructure; you install, configure, monitor, harden, and validate NemoClaw yourself.
Before selecting a plan or installing NemoClaw, confirm the server access, runtime path, credentials, firewall exposure, and recovery routine needed for the deployment.
A Linux VPS suitable for the current NemoClaw and OpenShell prerequisites; Ubuntu is the practical target for this guide.
SSH access to the server.
Root or sudo access.
Basic terminal knowledge.
Git and the package managers required by NemoClaw.
Docker installed and running before the NemoClaw installer. Installing Docker may require elevated privileges on Linux.
Node.js and npm as documented NemoClaw dependencies. The installer can install Node.js through nvm and NemoClaw through npm into user-local directories, but verify the active shell path before continuing.
Other runtimes only when your selected provider, tools, or repositories require them.
Your own API keys, provider accounts, model access, repositories, and configuration.
A domain name and firewall rules if you expose a web interface or webhook endpoint.
Backups or snapshots before production use or major upgrades.
Before running commands, decide how NemoClaw should be installed, updated, restarted, and recovered on the VPS. Use current upstream documentation as the authority for exact versions and flags.
Minimum starting point for a NemoClaw test environment:
The VPS is the runtime layer. You connect over SSH, configure NemoClaw, keep logs and runtime state on the server, and control API or model provider access yourself. For sizing context, return to NemoClaw VPS hosting before moving from test to production use.
Operator or developer controlling the workflow.
Secure access into the server.
Runtime, storage, network, and package layer.
NemoClaw runtime layer for the workflow.
External model access and provider credentials.
Code, automation tools, messaging gateways, and webhooks.
Follow this sequence as a practical deployment checklist, but confirm NemoClaw-specific versions, installer flags, and service commands against current official documentation before production use.
Prepare the VPS, connect over SSH, and create a clean workspace before installing NemoClaw, OpenShell, and Docker-related prerequisites.
ssh root@YOUR_SERVER_IP
sudo apt update && sudo apt upgrade -y
Log back in as the non-root deployment user before running the NemoClaw installer. Use root or sudo for server preparation and Docker setup, not for the user-local NemoClaw install itself. Configure Docker access after Docker is installed, then open a new login session before running the installer. Add the deployment user to the Docker group only when that user is trusted for broad host control, because Docker access can effectively bypass ordinary user separation.
adduser deployusermod -aG sudo deploy
Create one directory tree for NemoClaw config examples, working files, logs, and backups. Keep secrets out of shell history and commit only templates, not real keys.
APP_HOME="$HOME/self-host-nemoclaw-on-vps-runtime"mkdir -p "$APP_HOME/config" "$APP_HOME/workspace" "$APP_HOME/logs" "$APP_HOME/backups"chmod 700 "$APP_HOME/config"printf '%s\n' "# add real provider keys privately" > "$APP_HOME/config/env.example"chmod 600 "$APP_HOME/config/env.example"
Install base packages, follow the current upstream install path, and configure runtime/environment settings.
sudo apt install -y git curl wget unzip ca-certificates gnupg# Install a supported Docker Engine path for your Ubuntu release before continuing.sudo systemctl enable --now dockersudo usermod -aG docker deploy # trusted deployment user only; Docker access can grant broad host control# Open a new login session as deploy before running docker info as that user.docker --versiondocker info
The NVIDIA NemoClaw README describes NemoClaw as alpha/early-preview software and explicitly says it is not production-ready. It is a reference stack for running OpenClaw inside OpenShell, and its documented setup expects Docker plus Node.js/npm handling through the installer path. Use official NemoClaw documentation to confirm exact versions before relying on the server setup.
NVIDIA documents a guided installer that runs as a normal user, installs NemoClaw user-locally, onboards OpenClaw into an OpenShell-managed sandbox, and requires Docker to be installed, running, and reachable from that user session first.
# Confirm Docker access from the deployment user firstdocker info# Official NemoClaw installer path from NVIDIA READMEcurl -fsSL https://www.nvidia.com/nemoclaw.sh | bashsource ~/.bashrc # or open a new shell if nvm updated PATHnemoclaw my-assistant statusnemoclaw my-assistant logs --follow
For NemoClaw, use the guided onboarding and NemoClaw inference configuration flow rather than assuming a generic repository environment-template workflow. Keep provider credentials, sandbox settings, policy files, and model-routing choices aligned with the current NemoClaw/OpenShell documentation. Replace the placeholders with values supported by the current NemoClaw documentation and your provider account.
nemoclaw my-assistant statusnemoclaw inference getnemoclaw inference set --model <MODEL> --provider <PROVIDER> --sandbox my-assistant
After onboarding, use NemoClaw’s own lifecycle commands to inspect the sandbox and connect to the OpenClaw environment. Do not assume there is a host-level nemoclaw systemd unit unless you created one separately.
nemoclaw my-assistant statusnemoclaw my-assistant logs --follownemoclaw my-assistant connect
Keep Docker and the selected NemoClaw sandbox observable, lock down access, test the setup, and plan ongoing maintenance.
Keep Docker running and use NemoClaw/OpenShell lifecycle commands for the sandbox. Avoid generic Docker Compose commands unless the official path you selected explicitly creates a Compose project.
sudo systemctl status docker --no-pagernemoclaw my-assistant statusnemoclaw my-assistant logs --follow
Use SSH keys where possible, restrict password login if appropriate, enable a firewall, expose only the ports NemoClaw/OpenShell actually needs, protect NemoClaw configuration, OpenShell policy files, sandbox settings, provider credentials, and Docker access, keep packages updated, and use backups or snapshots before major changes.
NemoClaw is security-oriented, so the VPS should be treated as a controlled boundary for policies, logs, secrets, command permissions, and runtime experiments.
Use a VPS to keep guardrail experiments, allowed-command decisions, and OpenShell-related dependencies separate from personal machines.
Keep run output, service logs, policy notes, and failed authentication evidence in one server-side location.
Track API keys, outbound network rules, firewall policy, and exposed service ports before adding real workloads.
Begin with the smallest possible access surface. Track policies, command permissions, network access, provider keys, logs, and rollback steps before adding real workloads.
Read the NemoClaw article for feature context, practical workloads, and VPS-hosting fit before you choose the setup path.
Compare adjacent AI agent frameworks when you want broader context before choosing a VPS runtime or setup guide.
Treat the NemoClaw server as a privileged runtime. Security should be part of the setup, not a later cleanup task.
Use SSH keys where possible.
Keep root login limited.
Use a non-root user where practical.
Restrict ports.
Store provider credentials, sandbox settings, and policy material only in the NemoClaw/OpenShell configuration paths documented for your selected setup.
Avoid committing real NemoClaw config, OpenShell policy files, provider keys, sandbox settings, or credential reset notes.
Review SSH access logs, Docker/OpenShell runtime logs, policy-file changes, guarded-action audit trails, provider-key usage, and outbound network rules.
Keep packages updated.
Snapshot before major NemoClaw changes.
Monitor failed login attempts.
Rotate exposed keys.
Keep experiments separate from production systems.
Document policy files, guardrail decisions, OpenShell-related requirements, allowed commands, and outbound network rules before real workloads are added.
The server can contain policy files, guardrail decisions, OpenShell-related requirements, allowed commands, outbound network rules, and security-review logs. Harden it before production use.
Common setup problems to check before blaming the VPS or framework.
Server firewall, wrong IP, or SSH service unavailable Confirm the VPS is running, check the IP, and verify port 22 or your configured SSH port.
Wrong key, wrong user, or disabled login method
Check ~/.ssh/authorized_keys, user permissions, and your SSH config.
Base packages or runtime packages were not installed Re-run the dependency step and compare runtime versions with official NemoClaw docs.
The selected NemoClaw path expects a different Node.js, Docker, or sandbox/runtime version Use the version manager or package source recommended by upstream docs.
Docker daemon stopped or not installed
Start Docker, confirm docker info works for the deployment user, and inspect NemoClaw/OpenShell logs.
Sandbox or gateway stopped after logout Use NemoClaw/OpenShell lifecycle commands and the documented sandbox runtime path rather than wrapping unknown host commands in a service manager.
A selected nemoclaw, openshell, sandbox, webhook, or supporting tool is bound to a port already used by another process
Run ss -tulpn and move one service to a different port.
A required nemoclaw, openshell, sandbox, webhook, or supporting tool port is not open Open only the required port and keep all other ports restricted.
Configuration is absent or incomplete Compare the generated configuration with the selected deployment path and add only the secrets and paths required.
Key is wrong, expired, or lacks access Rotate the key through the provider and update the server configuration.
Logs, caches, or repositories grew over time
Check df -h, rotate logs, clean caches, and scale storage if needed.
Too many sandbox processes, OpenShell components, Docker images, or background jobs Reduce concurrency, inspect process memory, and scale the VPS if the workload is valid.
Deploy a NemoClaw VPS and use this guide as your review checklist while you prepare the setup.