So installieren Sie OpenClaw auf einem VeerHost-VPS (Docker)

Geschätzte Lektüre: 5 Minuten

OpenClaw ist eine selbst gehostete KI-Assistenten-Plattform, die sich mit Messaging-Kanälen, Webhooks, Datenbanken und privaten Wissensquellen verbinden kann. Diese Anleitung zeigt Ihnen, wie Sie OpenClaw auf einem VeerHost-VPS mit Docker auf eine saubere und sicherere Weise installieren.

Hinweis: Einige ältere Anleitungen bezeichnen OpenClaw möglicherweise noch als Moltbot oder Clawdbot. In dieser Dokumentation verwenden wir den aktuellen Namen: OpenClaw.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie Folgendes haben:

  • Einen VeerHost-VPS mit Ubuntu 22.04 oder Ubuntu 24.04
  • SSH-Zugriff auf den Server
  • Einen Benutzer mit sudo-Rechten
  • Docker installiert
  • Docker-Compose-Plugin installiert
  • Eine Domain oder Subdomain, wenn Sie HTTPS oder Webhooks verwenden möchten

Schritt 1: Mit dem VPS verbinden

Verbinden Sie sich per SSH mit Ihrem Server:

ssh root@YOUR_SERVER_IP

Wenn Sie einen sudo-Benutzer ohne Root verwenden:

ssh youruser@YOUR_SERVER_IP

Schritt 2: Das System aktualisieren

Aktualisieren Sie die Paketlisten und die installierten Pakete:

sudo apt update && sudo apt -y upgrade

Schritt 3: Docker installieren

Falls Docker noch nicht installiert ist, führen Sie Folgendes aus:

sudo apt install -y ca-certificates curl gnupg
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
echo 
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu 
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | 
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Installation überprüfen:

docker --version
docker compose version

Schritt 4: Das OpenClaw-Projektverzeichnis erstellen

Erstellen Sie ein dediziertes Verzeichnis für OpenClaw:

mkdir -p ~/openclaw
cd ~/openclaw

Wenn Sie aus einem Repository klonen, verwenden Sie die aktuelle OpenClaw-Repository-URL:

git clone https://github.com/openclaw/openclaw.git .

Wenn Sie Ihren eigenen Fork oder ein privates Repository verwenden, passen Sie die URL entsprechend an.

Schritt 5: Die Umgebungsdatei erstellen

Erstellen Sie eine Datei .env:

nano .env

Fügen Sie dieses Beispiel ein und passen Sie es an:

BOT_TOKEN=YOUR_TOKEN_HERE

WEBHOOK_ENABLED=false
WEBHOOK_URL=https://bot.yourdomain.com/webhook
WEBHOOK_PORT=3000

DB_TYPE=postgres
DB_HOST=127.0.0.1
DB_PORT=5432
DB_NAME=openclaw
DB_USER=openclaw_user
DB_PASSWORD=STRONG_PASSWORD_HERE

REDIS_URL=redis://127.0.0.1:6379

NODE_ENV=production
LOG_LEVEL=info

Speichern Sie die Datei und schützen Sie die Berechtigungen:

chmod 600 .env

Schritt 6: Die Docker-Compose-Datei erstellen

Erstellen Sie eine Datei docker-compose.yml:

nano docker-compose.yml

Nutzen Sie dieses einfache Beispiel und passen Sie es an Ihr tatsächliches OpenClaw-Image und Ihre Service-Anforderungen an:

services:
  openclaw:
    image: ghcr.io/openclaw/openclaw:latest
    container_name: openclaw
    restart: unless-stopped
    env_file:
      - .env
    ports:
      - "127.0.0.1:3000:3000"
    depends_on:
      - postgres
      - redis

  postgres:
    image: postgres:16
    container_name: openclaw_postgres
    restart: unless-stopped
    environment:
      POSTGRES_DB: openclaw
      POSTGRES_USER: openclaw_user
      POSTGRES_PASSWORD: STRONG_PASSWORD_HERE
    volumes:
      - postgres_data:/var/lib/postgresql/data

  redis:
    image: redis:7
    container_name: openclaw_redis
    restart: unless-stopped
    volumes:
      - redis_data:/data

volumes:
  postgres_data:
  redis_data:

Wichtig:

  • Binden Sie die App nur an 127.0.0.1, wenn Sie Nginx als Reverse Proxy verwenden.
  • Exponieren Sie interne App-Ports nicht öffentlich, außer Sie brauchen den Direktzugriff wirklich.

Schritt 7: OpenClaw starten

Starten Sie den Stack:

docker compose up -d

Laufende Container prüfen:

docker compose ps

Logs anzeigen:

docker compose logs -f

Schritt 8: Firewall-Regeln konfigurieren

Erlauben Sie nur die benötigten Ports:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow OpenSSH
sudo ufw allow 80
sudo ufw allow 443
sudo ufw enable
sudo ufw status

Öffnen Sie Port 3000 nicht öffentlich, wenn Nginx den Verkehr lokal an OpenClaw weiterleitet.

Schritt 9: Optionaler Nginx-Reverse-Proxy

Wenn Sie OpenClaw über eine Domain wie bot.yourdomain.com aufrufen möchten, erstellen Sie eine Nginx-Site:

sudo nano /etc/nginx/sites-available/openclaw

Beispielkonfiguration:

server {
    listen 80;
    server_name bot.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Aktivieren Sie die Site:

sudo ln -s /etc/nginx/sites-available/openclaw /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Schritt 10: SSL mit Let’s Encrypt hinzufügen

Installieren Sie Certbot:

sudo apt install -y certbot python3-certbot-nginx

Fordern Sie das Zertifikat an:

sudo certbot --nginx -d bot.yourdomain.com

Wenn Sie den Webhook-Modus aktivieren, aktualisieren Sie .env:

WEBHOOK_ENABLED=true
WEBHOOK_URL=https://bot.yourdomain.com/webhook
WEBHOOK_PORT=3000

Starten Sie dann den Stack neu:

docker compose down
docker compose up -d

Fehlerbehebung

OpenClaw-Container startet immer wieder neu

Prüfen Sie zuerst die Logs:

docker compose logs -f openclaw

Häufige Ursachen:

  • Falsches Token
  • Falsche Datenbank-Zugangsdaten
  • Fehlende Umgebungsvariablen
  • Portkonflikte

Port 3000 wird bereits verwendet

Finden Sie heraus, was den Port nutzt:

sudo ss -tulpn | grep 3000

Stoppen Sie entweder den störenden Dienst oder ändern Sie das interne Binding.

Datenbankverbindung fehlgeschlagen

Stellen Sie sicher, dass:

  • Der PostgreSQL-Container läuft
  • Benutzername, Passwort und Datenbankname mit Ihrer .env übereinstimmen
  • Die App den richtigen Host und Port verwendet

Nginx liefert 502 Bad Gateway

Das bedeutet meist, dass OpenClaw nicht läuft oder nicht auf dem erwarteten Port lauscht. Prüfen Sie:

docker compose ps
docker compose logs -f openclaw

Sicherheitstipps

  • Halten Sie OpenClaw möglichst hinter Nginx
  • Exponieren Sie nur die Ports 22, 80 und 443
  • Speichern Sie Geheimnisse nur in .env
  • Verwenden Sie starke Datenbankpasswörter
  • Halten Sie Docker-Images aktuell
  • Sichern Sie regelmäßig Ihre .env, die Compose-Datei und die Datenbank

Nächste Schritte

  • Limited-Time Offer

WordPress Hosting — Just $1/month for 12 months

Only 13 spots left

Get WordPress-ready hosting with free SSL, fast NVMe storage, malware protection, and 24/7 expert support—everything you need to launch and keep your website running smoothly.

12-month term • New customers only • Limited availability

Launchpad