How to Set Up OpenClaw with NVIDIA Build on a VPS Server
OpenClaw is a powerful open-source AI agent that can browse the web, manage tasks, and connect to popular messaging platforms like Telegram, Discord, and Slack.
In this guide, you’ll learn how to deploy OpenClaw on a VPS server using NVIDIA Build and the Kimi K2.5 model — giving you free access to a high-quality AI model with no credit card required.
By the end, you’ll have your own AI agent running 24/7 on your infrastructure.
What You’ll Get
- 🤖 Your own AI agent running on a VPS
- 🧠 Powered by Kimi K2.5 (free via NVIDIA Build)
- 🌐 Optional web-browsing capabilities
- 💬 Connect via Telegram, Discord, Slack, and more
- 🐳 Docker-based setup for easy management
Prerequisites
Before starting, make sure you have:
- A VPS server (Azure, DigitalOcean, AWS, Linode, etc.)
- SSH access to the server
- A free NVIDIA Build account
Step 1: Update Your System
SSH into your server and run:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git ca-certificates gnupg
Step 2: Install Docker
# Add Docker's GPG key
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
# Add Docker repository
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list
# Install Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Add your user to the docker group
sudo usermod -aG docker $USER
newgrp docker
Step 3: Get Your Free NVIDIA Build API Key
- Visit build.nvidia.com/moonshotai/kimi-k2.5
- Sign up or log in (free)
- Open the Kimi K2.5 model page
- Click Get API Key
- Save the key (starts with
nvapi-)
Test the API
curl https://integrate.api.nvidia.com/v1/chat/completions \
-H "Authorization: Bearer YOUR_NVIDIA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "moonshotai/kimi-k2.5", "messages": [{"role": "user", "content": "Hello"}]}'
If you receive a response, your API key is working.
Step 4: Set Up OpenClaw
Create the project directory:
mkdir -p ~/openclaw && cd ~/openclaw
Create docker-compose.yml
services:
openclaw:
image: ghcr.io/openclaw/openclaw:latest
container_name: openclaw
restart: unless-stopped
environment:
- NODE_ENV=production
- NVIDIA_API_KEY=${NVIDIA_API_KEY}
- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
volumes:
- openclaw-data:/home/node/.openclaw
ports:
- "3000:3000"
volumes:
openclaw-data:
Create .env
NVIDIA_API_KEY=nvapi-your-key-here
OPENCLAW_GATEWAY_TOKEN=any-random-string-for-security
Step 5: Start OpenClaw
docker compose up -d
Verify it’s running:
docker compose ps
docker compose logs -f openclaw
Step 6: Fix Permissions & Run Diagnostics
docker compose exec -u root openclaw chown -R node:node /home/node/.openclaw
docker compose exec -u root openclaw chmod 700 /home/node/.openclaw
docker compose exec openclaw npx openclaw doctor --fix
Step 7: Configure NVIDIA Build as the AI Provider
NVIDIA Build isn’t enabled by default, so we’ll register it manually.
Edit OpenClaw config
sudo nano /var/lib/docker/volumes/openclaw_openclaw-data/_data/openclaw.json
{
"models": {
"mode": "merge",
"providers": {
"nvidia": {
"baseUrl": "https://integrate.api.nvidia.com/v1",
"apiKey": "${NVIDIA_API_KEY}",
"api": "openai-completions",
"models": [
{ "id": "moonshotai/kimi-k2.5", "name": "Kimi K2.5" }
]
}
}
},
"agents": {
"defaults": {
"model": {
"primary": "nvidia/moonshotai/kimi-k2.5"
}
}
}
}
Create Auth Profile
sudo nano /var/lib/docker/volumes/openclaw_openclaw-data/_data/agents/main/agent/auth-profiles.json
{
"version": 1,
"profiles": {
"nvidia:manual": {
"type": "api_key",
"provider": "nvidia",
"key": "nvapi-your-actual-key-here"
}
},
"lastGood": {
"nvidia": "nvidia:manual"
}
}
Apply settings and restart:
docker compose exec openclaw npx openclaw config set gateway.mode local
docker compose restart openclaw
Step 8: Connect a Messaging Channel (Optional)
OpenClaw supports Telegram, Discord, Slack, and more.
Example: Telegram
- Open Telegram → @BotFather
- Create a new bot
- Save the Bot Token
- Get your User ID from @userinfobot
Add to .env:
TELEGRAM_BOT_TOKEN=123456789:your-bot-token
TELEGRAM_OWNER_ID=your-user-id
Update docker-compose.yml:
- TELEGRAM_BOT_TOKEN=${TELEGRAM_BOT_TOKEN}
- TELEGRAM_OWNER_ID=${TELEGRAM_OWNER_ID}
Enable and restart:
docker compose exec openclaw npx openclaw config set channels.telegram.enabled true
docker compose restart openclaw
Pair the Bot
docker compose exec openclaw npx openclaw pairing approve telegram YOUR_CODE
Your bot should now respond 🎉
Step 9: Enable Web Browsing (Optional)
This allows OpenClaw to browse and extract data from websites using Chromium and Playwright.
Your existing steps here are perfect — keep them exactly as written.
Useful Commands
| Command | Purpose |
|---|---|
docker compose logs -f openclaw | View logs |
docker compose restart openclaw | Restart |
docker compose down | Stop |
docker compose pull && docker compose up -d | Update |
Troubleshooting
- Bot not responding → Check logs
- Unknown model → Verify
openclaw.json - Auth missing → Check
auth-profiles.json - Browser issues → Ensure Chrome runs with
--no-sandbox
Why NVIDIA Build + Kimi K2.5?
NVIDIA Build provides free access to production-grade AI models via NIM.
Kimi K2.5 excels at reasoning, coding, and long-context tasks — making it ideal for autonomous agents.
You can also experiment with Llama, Mistral, and other models available on the platform.
Conclusion
You now have a fully self-hosted AI agent running on a VPS, powered by NVIDIA Build’s free tier.
Connect it to your favorite messaging platforms, enable web browsing, and start automating research, coding, and workflows.
Happy hacking! 🦞