Sign inSign up

shmayro/nemoclaw

By shmayro

•Updated 7 months ago

Image
0

4.4K

shmayro/nemoclaw repository overview

⁠NemoClaw Docker

Docker Pulls Docker Image Size

Run NVIDIA NemoClaw⁠ with a single command. NemoClaw is an open-source AI agent framework that runs OpenClaw securely inside NVIDIA OpenShell with managed inference.

⁠Quick Start

docker run -d --network host \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v nemoclaw-data:/nemoclaw-data \
  --name nemoclaw shmayro/nemoclaw

Open http://localhost:7681⁠ in your browser, then run:

nemoclaw onboard

⁠What's Inside

ComponentVersionPurpose
Ubuntu24.04Base OS
Docker CLILatestCommunicates with host Docker via mounted socket
Node.js22.x LTSNemoClaw runtime
NemoClawLatestAI agent framework
ttyd1.7.7Web-based terminal
SupervisorLatestProcess manager

⁠Environment Variables

VariableDescriptionRequired
NVIDIA_API_KEYNVIDIA NIM API key (free⁠)No*
OPENROUTER_API_KEYOpenRouter API key (free tier⁠)No*
OPENAI_API_KEYOpenAI API keyNo*
SKIP_ONBOARDSet to 1 to skip onboarding promptNo
TTYD_USERUsername for web terminal authNo
TTYD_PASSPassword for web terminal authNo
TELEGRAM_BOT_TOKENTelegram bot token from @BotFather⁠No
SANDBOX_NAMESandbox name for Telegram bridge (default: my-assistant)No
ALLOWED_CHAT_IDSComma-separated Telegram chat IDs to allowNo

*At least one API key is needed to use NemoClaw. You can provide it at runtime or configure it during onboarding.

⁠Inference Providers

ProviderEnv VarCostModels
NVIDIA NIMNVIDIA_API_KEYFreeNemotron 3 Super 120B (recommended)
OpenRouterOPENROUTER_API_KEYFree tierClaude, GPT, Gemini, Llama, 300+ models
OpenAIOPENAI_API_KEYPaidGPT-4, GPT-3.5
⁠Getting a Free NVIDIA API Key
  1. Go to build.nvidia.com⁠
  2. Sign in or create an account
  3. Generate an API key
  4. Pass it to the container: -e NVIDIA_API_KEY=nvapi-xxx

⁠Usage Examples

docker run -d --network host \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e NVIDIA_API_KEY=nvapi-xxx \
  -v nemoclaw-data:/nemoclaw-data \
  --name nemoclaw shmayro/nemoclaw
⁠With OpenRouter (Claude, GPT, Gemini, free models)
docker run -d --network host \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e OPENROUTER_API_KEY=sk-or-xxx \
  -v nemoclaw-data:/nemoclaw-data \
  --name nemoclaw shmayro/nemoclaw
⁠With Web Terminal Authentication
docker run -d --network host \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e NVIDIA_API_KEY=nvapi-xxx \
  -e TTYD_USER=admin -e TTYD_PASS=mysecret \
  -v nemoclaw-data:/nemoclaw-data \
  --name nemoclaw shmayro/nemoclaw
⁠Using Docker Compose
git clone https://github.com/shmayro/nemoclaw.git
cd nemoclaw
echo "NVIDIA_API_KEY=nvapi-xxx" > .env
docker compose up -d

⁠Access Methods

MethodHowBest For
Web terminalOpen http://localhost:7681Everyone — zero setup
Docker execdocker exec -it nemoclaw bashPower users, scripting

⁠Persistence

The /nemoclaw-data volume stores:

  • NemoClaw configuration and API keys
  • Onboarding state
  • Sandbox data

Your data survives container restarts and upgrades.

⁠Security

  • Host networking — The container uses --network host so NemoClaw's OpenShell gateway can communicate over localhost. This means ttyd is accessible on port 7681 of your host.
  • Docker socket is mounted — The container uses the host's Docker daemon via /var/run/docker.sock. This gives the container access to manage Docker on the host. Only run on trusted machines.
  • Web terminal is unauthenticated by default — Set TTYD_USER and TTYD_PASS to enable basic auth.
  • Do not expose port 7681 to the internet without authentication.

⁠Requirements

ResourceMinimumRecommended
RAM8 GB16 GB
Disk25 GB40 GB
CPUamd64amd64
DockerHost Docker socketHost Docker socket

⁠Telegram Bot

Connect NemoClaw to Telegram so you can chat with your AI agent from your phone.

⁠Setup
  1. Open Telegram and message @BotFather⁠ with /newbot
  2. Follow the prompts to create your bot and get a token
  3. Add the token to your .env file or pass it as an env var:
docker run -d --network host \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -e NVIDIA_API_KEY=nvapi-xxx \
  -e TELEGRAM_BOT_TOKEN=your-bot-token \
  -v nemoclaw-data:/nemoclaw-data \
  --name nemoclaw shmayro/nemoclaw
  1. Connect to the web terminal at http://localhost:7681 and run:
nemoclaw onboard                    # First time only
export TELEGRAM_BOT_TOKEN=your-bot-token
export NVIDIA_API_KEY=nvapi-xxx
export SANDBOX_NAME=my-assistant
nemoclaw start
  1. Message your bot on Telegram — it responds via the NemoClaw agent!
⁠Telegram Environment Variables
VariableDescriptionRequired
TELEGRAM_BOT_TOKENBot token from @BotFatherYes
SANDBOX_NAMESandbox to route messages to (default: my-assistant)No
ALLOWED_CHAT_IDSComma-separated Telegram chat IDs to allowNo
⁠Stop the Bridge
nemoclaw stop

⁠NemoClaw Commands

Once inside the container:

nemoclaw onboard                    # Initial setup wizard
nemoclaw my-assistant connect       # Open sandbox shell
nemoclaw start                      # Start Telegram bridge
nemoclaw stop                       # Stop services
nemoclaw status                     # Check service status
openclaw tui                        # Interactive chat
openclaw agent --agent main -m "hello"  # CLI message
openshell term                      # Monitoring TUI

⁠Building from Source

git clone https://github.com/shmayro/nemoclaw.git
cd nemoclaw
docker build -t shmayro/nemoclaw .

⁠Contributing

Contributions welcome! Please open an issue or PR.

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:9d8b5c111…

Size

1.8 GB

Last updated

7 months ago

docker pull shmayro/nemoclaw