Intermediate
How to Install OpenClaw on Contabo VPS [2026 Guide]
Quick Answer
Purchase a Contabo Cloud VPS 10 (€4.50/mo), connect via SSH, install Docker, deploy OpenClaw with Docker Compose, run the onboarding wizard to set up AI provider keys and messaging apps. Contabo also offers a one-click OpenClaw add-on that automates the entire process. Total setup: ~10 minutes.
Prerequisites
- Contabo VPS plan (Cloud VPS 10 or higher — minimum 4 vCPU, 8 GB RAM)
- SSH client (Terminal on Linux/macOS, PuTTY or Windows Terminal on Windows)
- API key from Anthropic (Claude) or OpenAI
- Basic command-line knowledge
1
Select a Contabo VPS plan
Contabo offers some of the best value VPS plans for self-hosting OpenClaw:
- Cloud VPS 10 (€4.50/mo): 4 vCPU, 8 GB RAM, 75 GB NVMe — great for personal use
- Cloud VPS 20 (€7.00/mo): 6 vCPU, 12 GB RAM, 100 GB NVMe — recommended for heavy multi-platform usage
- Cloud VPS 40 (€25.00/mo): 12 vCPU, 48 GB RAM, 250 GB NVMe — team deployments
Tip
Contabo's Cloud VPS 10 already exceeds OpenClaw's minimum requirements (2 GB RAM), giving you plenty of headroom for running local AI models alongside.
2
Connect via SSH and update the system
Contabo sends your server IP and root password via email after provisioning (usually within minutes). Connect:
ssh root@YOUR_CONTABO_IPUpdate the system packages:apt update && apt upgrade -yIf using the one-click add-on, OpenClaw is already installed — skip to Step 5 to run the onboarding wizard.Tip
Check your spam folder if you don't see the Contabo credentials email.
3
Install Docker and Docker Compose
Install Docker using the official convenience script:
curl -fsSL https://get.docker.com | sh
usermod -aG docker $USER
newgrp dockerVerify both are installed:docker --version
docker compose version4
Deploy OpenClaw with Docker Compose
Create the project directory and configuration:
mkdir -p ~/openclaw && cd ~/openclawGenerate a secure gateway secret:echo "OPENCLAW_SECRET=$(openssl rand -base64 32)" > .envCreate docker-compose.yml:cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
openclaw:
image: openclaw/gateway:latest
container_name: openclaw
restart: unless-stopped
ports:
- "127.0.0.1:3000:3000"
volumes:
- ./data:/app/data
env_file: .env
environment:
- NODE_ENV=production
EOFLaunch OpenClaw:docker compose up -dVerify the container is running:docker psTip
Contabo's NVMe storage provides fast I/O for OpenClaw's data operations.
5
Run the onboarding wizard
Open an SSH tunnel to access the Control UI securely:
ssh -L 3000:localhost:3000 root@YOUR_CONTABO_IPVisit http://localhost:3000 in your browser. The wizard walks you through:- AI Provider: Enter your Anthropic or OpenAI API key
- Messaging: Connect WhatsApp, Telegram, Discord, or Slack
- Security: Set a gateway authentication password
- Preferences: Language, timezone, default agent behaviors
Tip
If you used the Contabo one-click add-on, the wizard runs automatically on first SSH connection.
6
Secure the server
Configure the firewall — OpenClaw only needs SSH access since it binds to loopback:
ufw allow 22/tcp
ufw enableHarden SSH:nano /etc/ssh/sshd_config
# Set: PasswordAuthentication no
# Set: Port 2222
systemctl restart sshdInstall Fail2Ban:apt install fail2ban -y
systemctl enable fail2banTip
Contabo includes basic DDoS protection, but server-level hardening is still essential.
7
Set up automatic updates and backups
Create an update script:
cat > ~/openclaw/update.sh << 'EOF'
#!/bin/bash
cd ~/openclaw
docker compose pull
docker compose up -d
docker image prune -f
EOF
chmod +x ~/openclaw/update.shSchedule weekly updates:crontab -e
# Add: 0 4 * * 0 /root/openclaw/update.sh >> /root/openclaw/update.log 2>&1Enable Contabo's snapshot feature from the control panel for full-server backups (1 snapshot included with Cloud VPS 10, 2 with Cloud VPS 20).Tip
Take a snapshot before major OpenClaw updates so you can roll back instantly.
Troubleshooting
SSH connection refused after provisioning
Contabo VPS provisioning can take 5-15 minutes. Wait and retry. If the issue persists, check the Contabo control panel for the VPS status and ensure it's marked as 'Running'.
Docker compose up fails with permission errors
Run
newgrp docker or log out and back in after adding your user to the docker group. Alternatively, prefix commands with sudo.Container starts but Control UI is inaccessible
Verify the SSH tunnel is active:
ssh -L 3000:localhost:3000 root@IP. Check container logs: docker logs openclaw. Ensure no other service occupies port 3000: ss -tlnp | grep 3000.High CPU usage after starting OpenClaw
Initial startup compiles assets and may spike CPU. Wait 2-3 minutes for it to settle. If persistent, check if Ollama is pulling a large model in the background:
docker logs openclaw.Ready to get started with OpenClaw?
Put this tutorial into practice. Visit OpenClaw and follow the steps above.
Visit OpenClaw →