OpenClaw on Hetzner Cloud

Best value VPS for self-hosting OpenClaw — EU GDPR, step-by-step setup

Hetzner Cloud is widely recommended for running OpenClaw—you get 2–3x more compute per dollar than AWS, GCP, or Azure, with full GDPR compliance from German and Finnish data centers. For OpenClaw, the AI work runs on your LLM provider's servers, so your VPS only handles Node.js, channel connections, and the gateway. A modest Hetzner instance is plenty.

We've run OpenClaw on CX11 (2GB RAM) for light use and CX22/CX32 for busier setups. This guide walks through creating a server, installing OpenClaw, and keeping it running with PM2.

Choosing a Plan

Hetzner Cloud offers several tiers. For OpenClaw:

  • CX11 — ~$4/mo, 2 vCPU, 2GB RAM. Minimum for personal use. Fine for one user, few channels.
  • CX22 — ~$4/mo (different config), 2 vCPU, 4GB RAM. Sweet spot for most users. Comfortable headroom.
  • CX32 — ~$10/mo, 4 vCPU, 8GB RAM, 80GB SSD. For teams, multiple channels, or if you run Ollama locally.

Local LLMs (Ollama) need more RAM; plan for 8GB+ if you want to run models on the same machine. For cloud LLMs (Anthropic, OpenAI), 2–4GB is enough.

Step 1: Create a Server

  1. Sign up at hetzner.com/cloud
  2. Create a new project → Add Server
  3. Choose location (Falkenstein, Nuremberg, Helsinki for EU)
  4. Select image: Ubuntu 24.04 LTS
  5. Pick plan (CX22 or CX32 recommended)
  6. Add SSH key for secure login
  7. Create and note the root password or SSH key

Step 2: Connect and Update

SSH in
ssh root@YOUR_SERVER_IP
Update system
apt update && apt upgrade -y

Step 3: Install OpenClaw

Use the one-liner—it installs Node.js if needed and OpenClaw:

Install OpenClaw
curl -fsSL https://openclaw.ai/install.sh | bash

Then run the onboarding wizard. For a headless server, you'll configure via CLI or copy a config from another machine. See Configuration guide.

Step 4: Run with PM2

PM2 keeps OpenClaw running after you disconnect and across reboots:

Install PM2 and start OpenClaw
npm install -g pm2
openclaw init
pm2 start 'openclaw gateway start' --name openclaw
pm2 save
pm2 startup

Follow the pm2 startup output to enable startup on boot.

Step 5: Firewall

Enable UFW and allow SSH, HTTP, HTTPS:

Firewall
ufw allow 22
ufw allow 80
ufw allow 443
ufw enable

OpenClaw's default port (18789) is loopback-only. For web access, use a reverse proxy (nginx, Caddy) in front. See Deployment tutorial for SSL and reverse proxy setup.

Why Hetzner for OpenClaw

  • Price-to-performance — 2–3x more compute per dollar than major clouds
  • GDPR — German and Finnish data centers, EU data residency
  • Reliability — Solid uptime, predictable performance
  • No vendor lock-in — Standard Linux, standard tools