Guide
OpenClaw on OVHcloud: Self-Host on an OVH VPS
OVHcloud is one of Europe's largest hosts, and its VPS line is a common choice for people who want an agent running on European infrastructure with included anti-DDoS. This walks through choosing a plan, installing OpenClaw, putting TLS in front of the gateway — and the one ordering decision that is expensive to get wrong.
Which OVH VPS Plan?
OVH sells VPS-1 through VPS-6. For a single OpenClaw agent, the entry tier is genuinely enough: the VPS-1 ships 4 vCPU, 8 GB RAM and 75 GB NVMe SSD, with unmetered traffic, anti-DDoS included and daily backups on the plans that offer them. At roughly $6.46/mo in the US region it sits close to comparable Hetzner boxes on price while giving more RAM than a minimal agent needs.
Step up to VPS-2 (about $9.99/mo) if you plan to run browser-driving skills, several agents on one box, or a local model alongside. Chromium is the thing that actually eats memory; text-only agents are comfortable on the base tier.
Be aware that OVH raised VPS pricing by an average of 9–11% in March 2026, with the entry tier moving proportionally more — roughly 30%, from about $4.90 to $6.46 — which the company attributed to RAM and disk supply pressure driven by GPU demand. Older guides quoting sub-$5 OVH pricing are describing a world that no longer exists. Always check the live pricing page for your region before ordering.
Step 1: Prepare the Server
Order the VPS with Ubuntu 24.04, then connect and do the usual hardening before installing anything:
ssh ubuntu@<your-vps-ip>
sudo apt update && sudo apt upgrade -y
# key-only SSH
sudo sed -i 's/^#*PasswordAuthentication.*/PasswordAuthentication no/' /etc/ssh/sshd_config
sudo systemctl restart ssh
sudo ufw allow OpenSSH
sudo ufw allow 80,443/tcp
sudo ufw enableOVH's anti-DDoS protection operates at the network edge and is always on. It does not filter application traffic, so the firewall above is still your responsibility.
Step 2: Install Docker
OVH images already give you a non-root sudo user (ubuntu on the Ubuntu image), so add that user to the docker group rather than creating another one — adding a different account and then running newgrp as yourself is the usual reason the next docker command returns a permission error.
curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker "$USER"
newgrp docker
docker run --rm hello-world # confirm it works without sudoStep 3: Run OpenClaw
mkdir -p ~/openclaw && cd ~/openclaw
docker pull ghcr.io/openclaw/openclaw:main
docker run -d \
--name openclaw \
--restart unless-stopped \
-v ~/openclaw:/home/node/.openclaw \
-p 127.0.0.1:18789:18789 \
ghcr.io/openclaw/openclaw:mainUse the :main tag, matching the Hetzner and Hostinger guides, and mount to /home/node/.openclaw — the container runs as the node user, so a mount at /root/.openclaw leaves the config unreadable to the process that needs it.
Binding to 127.0.0.1 rather than 0.0.0.0 is deliberate. The gateway should be reachable only through the reverse proxy, never directly on a public port. Full configuration options are in the install guide.
Step 4: TLS With Caddy
Point a DNS A record at the VPS IP, then let Caddy handle certificates automatically:
sudo apt install -y caddy
sudo tee /etc/caddy/Caddyfile >/dev/null <<'EOF'
agent.example.com {
reverse_proxy 127.0.0.1:18789
}
EOF
sudo systemctl reload caddyCaddy provisions and renews the certificate on its own. Once this is up, your gateway is on HTTPS and nothing is listening on a raw public port.
Step 5: Backups
Some OVH plans include daily snapshots, and where available they are worth enabling — but a host snapshot is disaster recovery, not a backup you can restore selectively. Take your own copy of the data directory too:
mkdir -p ~/backups
# nightly at 03:00 — the % must be escaped as \% inside a crontab
0 3 * * * tar czf ~/backups/openclaw-$(date +\%F).tar.gz ~/openclawThat directory holds credentials, memory and installed skills. Keep a copy off the same machine.
OVH vs Hetzner vs Managed
| OVHcloud VPS | Hetzner | OpenClaw Launch | |
|---|---|---|---|
| Entry cost | ~$6.46/mo (VPS-1) | Comparable at the low end | $6/mo Lite, $20/mo Pro |
| You maintain | OS, Docker, TLS, backups, updates | OS, Docker, TLS, backups, updates | Nothing |
| Anti-DDoS | Included at the edge | Included | Handled upstream |
| Resize | In place in US region only | In place | Change plan any time |
| Setup time | 30–60 minutes | 30–60 minutes | About 30 seconds |
| AI credits | None — bring your own keys | None | Included, BYOK also supported |
Self-hosting on OVH makes sense when you want the box for other things too, need data in a specific European jurisdiction, or simply enjoy running your own infrastructure. If the server would exist only to hold the agent, managed hosting costs about the same and removes the maintenance. See also OpenClaw on Hetzner and the cheapest hosting round-up.
Troubleshooting
The gateway is unreachable after install
Expected, if you followed step 3 — it is bound to localhost until Caddy is in front. Confirm locally with curl -I http://127.0.0.1:18789 on the VPS before blaming DNS.
Caddy will not issue a certificate
Nearly always DNS or port 80. The A record must resolve to the VPS before Caddy can validate, and ports 80 and 443 must be open in both ufw and any firewall rules configured in the OVH control panel.
The container is killed overnight
Memory pressure. Check docker stats and dmesg | grep -i oom. Browser-based skills are the usual cause — either move up a tier or add swap.