Wähle einen Artikel
OpenClaw auf VPS installieren
OpenClaw auf VPS installieren

VPS Server von METANET

Finden Sie den Server der zu Ihren Anforderungen passt – jetzt einfach vergleichen.

Dunkler Hintergrund mit vielen blauen Leuchtpunkten, verbunden durch blaue Linien; rote Leuchtknoten.

Überblick

Verwendetes System: Debian 12 64 bit

Genutzter User: Ich nehme alles als „root" vor

Zeitdauer: ca. 20 Minuten

Schwierigkeit: Einfach. Nur Code kopieren 😉

Besonderheiten:

Die Installation von Docker / Docker Compose wird hier vorausgesetzt.

Sie benötigen einen API Key eines KI Systems, da OpenClaw komplett von der KI abhängig ist.

1. OpenClaw installieren

1.1 Einleitung

OpenClaw ist ein relativ neues Open-Source-Projekt, das seit seiner Veröffentlichung viel Aufmerksamkeit bekommen hat. Grob gesagt können Sie damit einen KI‑Agenten betreiben, der über Integrationen mit Ihnen chattet und Aufgaben über angebundene KI‑Modelle ausführt (z. B. Text generieren, einfache Workflows anstossen).

Wichtig: OpenClaw ist dabei vollständig von einem KI-Modell abhängig. Ohne KI‑Backend „denkt" es nicht selbst und da jede Antwort über eine externe KI erzeugt wird, ist jede Anfrage mit nutzungsabhängigen Kosten beim jeweiligen KI-Anbieter verbunden.

In unserem konkreten Setup ist das Ziel, OpenClaw per Traefik bereitzustellen. Als KI‑Provider nutzen wir Google Gemini und zusätzlich wollen wir Telegram integrieren, damit wir bequem per Telegram-Chat mit OpenClaw interagieren können.

1.2 Infos zu yml Dateien

Bei yml Dateien ist es sehr wichtig, dass die Zeilen alle richtig eingerückt sind. Die Zeilen MÜSSEN immer mit der Leertaste eingerückt werden. Es dürfen KEINE Tabs enthalten sein. Sie können den nachfolgenden Code immer online „überprüfen" lassen. Die meisten Fehler entstehen nämlich durch die falsche Formatierung. Ein Dienst zum Überprüfen ist zum Beispiel: https://codebeautify.org/yaml-validator

1.3 Vorbereitung

Diese Anleitung basiert auf dem aktuellen Debian 12 Betriebssystem. OpenClaw werden wir unter Docker realisieren. Dies ermöglicht uns später sehr schnelle Updates und eine schnelle Installation.

Um OpenClaw neben anderen Diensten auf unserem Server betreiben zu können, nutzen wir hier den Reverse Proxy Traefik. Die Anleitung dazu finden Sie hier: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren

1.3.1 Verzeichnis erstellen

Wir erstellen uns ein neues Verzeichnis, in welchem wir später alle Daten von OpenClaw abspeichern. Dazu geben wir folgendes in der Konsole ein:

mkdir -p /opt/containers/openclaw

Sie können hier auch ein anderes Verzeichnis verwenden. Müssen dann aber die gesamte Anleitung entsprechend anpassen.

1.3.2 docker-compose.yml erstellen

Nun können wir mit der eigentlichen „Installation" von OpenClaw beginnen. Dazu öffnen Sie folgende Datei:

nano /opt/containers/openclaw/docker-compose.yml 

Nun kopieren Sie folgenden Code in die Datei. Dieser Code ist unser Bauplan für unseren OpenClaw Container.

services:
 openclaw-gateway:
   image: ${OPENCLAW_IMAGE}
   environment:
     HOME: /home/node
     TERM: xterm-256color
     OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN}
   volumes:
     - ./config:/home/node/.openclaw
     - ./workspace:/home/node/.openclaw/workspace
   env_file:
     - .env
   init: true
   restart: unless-stopped
   command:
     [
       "node",
       "dist/index.js",
       "gateway",
       "--allow-unconfigured",
       "--bind",
       "${OPENCLAW_GATEWAY_BIND:-0.0.0.0}",
       "--port",
       "18789",
     ]
   healthcheck:
     test:
       [
         "CMD",
         "node",
         "-e",
         "fetch('http://127.0.0.1:18789/healthz').then((r)=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))",
       ]
     interval: 30s
     timeout: 5s
     retries: 5
     start_period: 20s
   labels:
     - "traefik.enable=true"
     - "traefik.http.routers.openclaw.entrypoints=http"
     - "traefik.http.routers.openclaw.rule=Host(`openclaw.euredomain.de`)"
     - "traefik.http.middlewares.openclaw-https-redirect.redirectscheme.scheme=https"
     - "traefik.http.routers.openclaw.middlewares=openclaw-https-redirect"
     - "traefik.http.routers.openclaw-secure.entrypoints=https"
     - "traefik.http.routers.openclaw-secure.rule=Host(`openclaw.euredomain.de`)"
     - "traefik.http.routers.openclaw-secure.tls=true"
     - "traefik.http.routers.openclaw-secure.tls.certresolver=http"
     - "traefik.http.routers.openclaw-secure.service=openclaw"
     - "traefik.http.services.openclaw.loadbalancer.server.port=18789"
     - "traefik.docker.network=proxy"
     - "traefik.http.routers.openclaw-secure.middlewares=secHeaders@file,openclaw-auth"
     - "traefik.http.middlewares.openclaw-auth.basicauth.users="
   networks:
     - proxy

 openclaw-cli:
   image: ${OPENCLAW_IMAGE}
   env_file:
     - .env
   network_mode: "service:openclaw-gateway"
   cap_drop:
     - NET_RAW
     - NET_ADMIN
   security_opt:
     - no-new-privileges:true
   environment:
     HOME: /home/node
     TERM: xterm-256color
     OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN:-}
     BROWSER: echo
   volumes:
     - ./config:/home/node/.openclaw
     - ./workspace:/home/node/.openclaw/workspace
   stdin_open: true
   tty: true
   init: true
   entrypoint: ["node", "dist/index.js"]
   depends_on:
     - openclaw-gateway

networks:
 proxy:
   external: true 

1.3.3 env Datei erstellen 

Nun erstellen wir noch eine Datei mit unseren Einstellungen. Geben Sie dazu folgendes ein:

nano /opt/containers/openclaw/.env 

Inhalt: 

# ----------------------------------------------------------------------------- 
# Gateway auth + Image 
# ----------------------------------------------------------------------------- 
OPENCLAW_GATEWAY_TOKEN=change-me-to-a-long-random-token 
OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw:latest 
OPENCLAW_CONFIG_DIR=./config 
OPENCLAW_WORKSPACE_DIR=./workspace 

Den Parameter OPENCLAW_IMAGE können Sie beliebig anpassen. Hier verwenden wir aber das offizielle OpenClaw Image.

1.3.4 erstes Konfigurationsskript

Um etwas Arbeit zu sparen, erstellen wir uns ein Skript, welches unsere Domain sowie Nutzername und Passwort vergibt, damit OpenClaw erreichbar sowie geschützt ist.

 nano /opt/containers/openclaw/setup.sh 

 Inhalt: 

#!/bin/bash 
 
if ! command -v htpasswd &> /dev/null; then 
    echo "htpasswd ist nicht installiert. Installiere apache2-utils..." 
    sudo apt-get update && sudo apt-get install -y apache2-utils 
fi 
 
read -p "Bitte gebt eure gewuenschte Domain ein (z.B. openclaw.meinedomain.de): " USER_DOMAIN 
 
sed -i "s/Host(\`openclaw.euredomain.de\`)/Host(\`$USER_DOMAIN\`)/g" docker-compose.yml 
echo "Die Domain wurde in der docker-compose.yml auf $USER_DOMAIN aktualisiert." 
 
NEW_TOKEN=$(openssl rand -hex 32) 
sed -i "s/^OPENCLAW_GATEWAY_TOKEN=change-me-to-a-long-random-token/OPENCLAW_GATEWAY_TOKEN=$NEW_TOKEN/g" .env 
echo "Ein sicherer Gateway-Token wurde generiert und in der .env Datei hinterlegt." 
 
echo "---" 
echo "Einrichtung des OpenClaw Logins" 
read -p "Bitte gib einen Benutzernamen fuer das Dashboard ein: " AUTH_USER 
read -s -p "Bitte gib ein sicheres Passwort ein: " AUTH_PASS 
echo "" 
 
AUTH_STRING=$(htpasswd -nb "$AUTH_USER" "$AUTH_PASS" | sed -e s/\\$/\\$\\$/g) 
 
sed -i "s|^      - \"traefik.http.middlewares.openclaw-auth.basicauth.users=\".*|      - \"traefik.http.middlewares.openclaw-auth.basicauth.users=$AUTH_STRING\"|g" docker-compose.yml 
 
echo "Basic Auth Zugangsdaten wurden erfolgreich in der docker-compose.yml hinterlegt." 
echo "Setup abgeschlossen!" 

Nun machen wir das Skript noch ausführbar und starten es: 

chmod +x /opt/containers/openclaw/setup.sh 
cd /opt/containers/openclaw/ 
./setup.sh 

1.3.5 offizielles Einrichtungsskript downloaden 

Nun laden wir uns noch das offizielle OpenClaw Konfigurationsskript herunter. 

cd /opt/containers/openclaw 
wget -O docker-setup.sh https://raw.githubusercontent.com/openclaw/openclaw/main/docker-setup.sh 
chmod +x docker-setup.sh 

2. KI API Key erzeugen

OpenClaw bietet eine grosse Auswahl unterstützter KI-Systeme. Hier eine Übersicht:

Terminalfenster mit einer Liste von Modell-/Anbieter-Namen: OpenAI, Anthropic, Google Gemini, xAI, Mistral AI, Hugging Face.

2. KI API Key erzeugen

OpenClaw bietet eine grosse Auswahl unterstützter KI-Systeme. Hier eine Übersicht:

Später müssen Sie einen API Key eines KI Systems eingeben, um OpenClaw nutzen zu können. In diesem Beispiel verwenden wir Google Gemini. Dazu gehen Sie auf folgende URL: https://aistudio.google.com/ Registrieren Sie sich dort und dann können Sie Ihren API Key einsehen. Ebenfalls sehen Sie dort die Kosten, welche Sie für Anfragen an Gemini bezahlen müssen.

3. Kommunikations-Gateway hinzufügen (optional)

OpenClaw bietet eine grosse Auswahl an Gateways über die es kommunizieren kann.

Terminal mit schwarzem Hintergrund; Liste von Kanälen: Telegram, WhatsApp, Discord, IRC, Google Chat, Slack, Signal, LINE.

Grundsätzlich stellt OpenClaw eine Webseite bereit, weshalb Sie kein weiteres Gateway benötigen. In diesem Beispiel verwenden wir den Dienst Telegram, da dieser kostenlos und sehr einfach einzurichten ist.

Im ersten Schritt legen Sie sich einen Telegram Account an bzw. loggen Sie sich in Ihren vorhandenen Account ein. 

Anschliessend suchen Sie folgenden Kontakt: „@BotFather".

Twitter-ähnliche Oberfläche: Suchfeld @botfather, verifiziertes BotFather-Profil mit Avatar, Datum, blauem Öffnen-Button.

Wichtig hierbei ist, dass Sie den Dienst mit dem „blauen Haken" nutzen, da es viele Fake Dienste gibt. 

Mit „/start" sehen Sie einen Überblick aller Parameter.

Screenshot eines Telegram-Chats mit BotFather, der Befehle zur Bot-Erstellung und Verwaltung zeigt.

Wählen Sie hier „/newbot" aus und vergeben Sie einen Namen für Ihren Bot. Unter diesem Namen können Sie den Bot später suchen. Wichtig ist, dass der Name auf „bot" enden muss.

Telegram-Chat-Screenshot mit grünen und violetten Chatblasen; rotes Rechteck markiert die Zahl 8792.

Wenn alles korrekt war, dann sollten Sie eine Bestätigung inklusive eines http API Tokens erhalten. Dieses benötigen wir später für OpenClaw.

4. OpenClaw Einrichtung starten

Wichtiger Hinweis:

An mehreren Stellen lädt OpenClaw sehr lange. Wichtig ist, dass Sie hier einfach mehrere Minuten warten, bis der Dialog weitergeht. In dieser Anleitung sehen Sie auf den Bildern immer auf welche Dialoge / Ausgaben Sie warten müssen, bevor Sie weitermachen können.

Nun starten wir die Einrichtung von OpenClaw. Dazu benötigen wir die zuvor erstellten API Keys.

cd /opt/containers/openclaw 
set -a && source .env && set +a && ./docker-setup.sh 

Wählen Sie im ersten Schritt „yes“ aus: 

Screenshot einer dunklen UI mit OPENCLAW-Überschrift und Terminalfenster mit Sicherheitswarnung.

Hier wählen wir „Manual“, damit wir alle Einstellungen vornehmen können: 

Bildschirmfenster mit Menü: Onboarding mode, QuickStart, Manual (Configure port, network, tailscale, and auth options.).

Das Workspace Directory bestätigen Sie einfach:

Terminalfenster mit der Zeile 'Workspace directory' und dem Pfad /home/node/.openclaw/workspace

Nun können Sie Ihr KI-System auswählen. In unserem Fall ist es Google.

Terminal-UI mit Liste von Modell-/Anbieter-Optionen, je ein leerer Auswahlkreis, z. B. OpenAI, Google Gemini, Copilot.

Hier wählen wir „Google Gemini API key“ aus: 

Terminal-Menü: Titel Google auth method; Optionen: Google Gemini API key, Google Gemini CLI OAuth, Back.

Jetzt wählen wir, dass wir den API Key direkt einfügen wollen („Paste API key now“): 

Dunkles Terminalfenster zeigt Abfrage: API-Key per Paste now oder externen Secret Provider; erste Option ausgewählt.

Nun können wir unser Modell auswählen. Dies beeinflusst sowohl den Preis als auch die Qualität der Antworten. Gemini 3.1 Pro ist aktuell das stärkste der Google KI Modelle. 

Terminalfenster mit dunklem Hintergrund; Liste von Gemini-Modellen/Optionen, inkl. Default mode und Keep current.

Den Gateway Port bestätigen Sie einfach:

Terminalfenster mit schwarzem Hintergrund; orangefarbener Text Gateway port und darunter die Zahl 18789, links ein blauer Balken.

Wählen Sie nun „LAN (0.0.0.0)" aus, damit die Kommunikation später mit Traefik funktioniert:

Terminalbild mit Gateway bind und Optionen: Loopback, LAN (ausgewählt), Tailnet IP, Auto, Custom IP.

Die Kommunikation soll mittels Token geschützt werden. Dies haben wir ja bereits zuvor erstellen lassen. 

Dunkles Terminalfenster mit Menü: Gateway auth; Token (Recommended default (local + remote)); Password.

Tailscale wählen wir nicht aus: 

Dunkles UI: Überschrift 'Tailscale exposure' und drei Radio-Optionen: Off (No Tailscale exposure), Serve, Funnel.

Nun wählen wir „Generate/store plaintext token“: 

Terminalfenster mit Frage nach Gateway-Token und zwei Optionen: Generate/store plaintext token (Default) und Use SecretRef

Bestätigen Sie das vorausgewählte Token mit ENTER. 

Hier können Sie nun wählen, ob Sie einen Channel / Gateway nutzen wollen, oder ob Sie OpenClaw einfach per Webseite nutzen möchten. Wir wählen „Yes", damit wir Telegram einbinden können.

Terminalfenster: Channel status mit Einträgen wie needs token, not configured; Frage: Configure chat channels now? Yes/No

Wir wählen Telegram, da wir es damit verbinden wollen. 

Terminal mit Liste von Chat-Apps: Telegram, WhatsApp, Discord, IRC, Google Chat, Slack.

Nun dauert es wenige Minuten, bis Sie zur Eingabe Ihrer Telegram API aufgefordert werden:

Dunkler Terminalbildschirm mit Text: Telegram bot token, BotFather-Anleitung, Token-Format und Links.

Nun wählen wir „Finished“ aus, da wir keine weiteren Dienste verbinden möchten: 

Vertikale Liste von Chat-Plattformen; unten grüner Punkt neben 'Finished' (Done).

Beim Pairing wählen wir „no“ aus, da dieser Modus für uns passt. 

Terminal-Dialog: Configure DM access policies now? (default: pairing) mit Yes/No-Optionen und Radiobuttons.

Nun wählen wir noch einen Search Provider aus. Wir entscheiden uns für Google, da wir hier bereits einen API Key haben: 

UI-Screenshot des Abschnitts 'Search provider' mit Punkten für Brave Search, Gemini, Grok, Perplexity Search und Skip for now.

Sie können sich nun verschiedene Skills (Fähigkeiten) für OpenClaw auswählen, welche installiert werden sollen:

UI-Fenster 'Skills status': Eligible 3, Missing 41, OS-Unsupported 7, Blocked 0; 'Configure skills now?' Yes/No (grüner Punkt neben Yes).

Wir überspringen den Schritt mit „Skip for now“. 

Terminalfenster mit schwarzem Hintergrund; Überschrift Install missing skill dependencies; Checkboxenliste 1password.

Jetzt könnt ihr noch weitere API Keys eingeben. Wir überspringen dies aber. 

Dunkles Terminal mit Abfragen nach API-Keys Google Places, Gemini, Notion, OpenAI, ElevenLabs und je 'No' darunter.

Jetzt können Sie noch Hooks festlegen. Auch dies überspringen wir:

Fenster mit oranger Überschrift 'Enable hooks?' und fünf Checkboxen.

Zum Schluss installieren wir noch die zsh Shell: 

Dunkles Terminalfenster mit orangefarbenem Prompttext 'Enable zsh shell completion for op...' und grünem Punkt neben 'Yes / No'.

OpenClaw ist nun fertig eingerichtet und führt die Konfiguration durch. Dies dauert mehrere Minuten. Bitte warten Sie so lange, bis Sie folgendes sehen:

Screenshot eines dunklen Terminalfensters mit farbigem Code und Protokollen.

5. OpenClaw Anpassungen für Traefik 

Nun führen wir ein weiteres Skript aus, welches Anpassungen an OpenClaw für Traefik vornimmt: 

nano /opt/containers/openclaw/setup2.sh 

Inhalt: 

#!/bin/bash 
set -e 
 
echo "Lese Konfiguration aus..." 
 
if ! TOKEN=$(grep "^OPENCLAW_GATEWAY_TOKEN=" .env | cut -d '=' -f 2); then 
    echo "Fehler: OPENCLAW_GATEWAY_TOKEN in .env nicht gefunden." 
    exit 1 
fi 
 
if ! DOMAIN=$(grep -oP 'Host\(`\K[^`]+' docker-compose.yml | head -1); then 
    echo "Fehler: Konnte keine Domain (Host) in der docker-compose.yml finden." 
    exit 1 
fi 
 
echo "Gefundener Token: $TOKEN" 
echo "Gefundene Domain: $DOMAIN" 
echo "---" 
 
echo "Deaktiviere Device Auth..." 
docker compose run --rm openclaw-cli config set gateway.controlUi.dangerouslyDisableDeviceAuth true 
 
echo "Erlaube Domain in Control UI..." 
docker compose run --rm openclaw-cli config set gateway.controlUi.allowedOrigins "[\"https://$DOMAIN\"]" --strict-json 
 
echo "---" 
# 5. Container neustarten, damit die Konfiguration greift 
echo "Starte Container neu..." 
docker compose down 
docker compose up -d 
 
echo "---" 
echo "✅ Setup erfolgreich abgeschlossen!" 
echo "" 
echo "Das Dashboard ist in wenigen Minuten unter folgender URL erreichbar:" 
echo "https://$DOMAIN/#token=$TOKEN" 
echo "" 

Dieses Skript starten wir nun: 

chmod +x /opt/containers/openclaw/setup2.sh 
cd /opt/containers/openclaw/ 
./setup2.sh 

Das Ausführen des Skriptes dauert mehrere Minuten. Bitte warten Sie bis Sie folgendes sehen:

Schwarzes Terminalfenster mit mehrzeiliger Ausgabe; Meldungen über Containerstart und Dashboard-Link unten.

6. OpenClaw starten 

Kopieren Sie sich nun den angezeigten Link und fügen Sie diesen in Ihren Browser ein. Auch hier dauert es wieder mehrere Minuten, bis OpenClaw fertig gestartet ist.

Anschliessend sollten Sie diese Meldung erhalten:

Login-Fenster mit Text: Diese Website fordert Sie auf, sich anzumelden. Felder Benutzername, Passwort. Anmelden Abbrechen.

Geben Sie hier Ihren Nutzernamen / Ihr Passwort aus Schritt 1.3.4 ein. 

Nun sind Sie auf der OpenClaw Oberfläche und können dort weitere Einstellungen vornehmen bzw. Befehle ausführen.

OpenClaw Chat-Oberfläche: linke Seitenleiste mit Menüpunkten, zentrales Chatfenster, Texteingabefeld unten.

7. Telegram mit OpenClaw verbinden 

Suchen Sie nun Ihren Telegram Bot, welchen Sie im Schritt 3 erstellt haben.

Globale Suchergebnisse: Hervorhebung des Eintrags dogado_bot; blaues Profilbild; weitere Treffer mit Avataren und Namen.

Mit dem Befehl „/start" sollten Sie folgendes sehen:

Weißes Dialogfenster mit Text: OpenClaw: access not configured. Pairing code: T4VAY9AN.

Diesen Pairing Code kopieren Sie sich nun. Anschliessend führen Sie auf Ihrem Server folgenden Befehl aus:

docker compose run --rm openclaw-cli pairing approve telegram PAIRING-CODE 

In meinem Fall also: 

docker compose run --rm openclaw-cli pairing approve telegram T4VAY9AN 

Wenn der Befehl bei Ihrem Server erfolgreich bearbeitet wurde, geben Sie bei Telegram „/status" ein. Dort sollten Sie nun folgendes sehen:

Telegram-Chatfenster mit OpenClaw-Nachricht: 'access not configured', Pairing-Code und Status-Details.

8. OpenClaw Versionen 

Zu OpenClaw gibt es aktuell alle paar Tage neue Docker Images, weshalb es sein kann, dass einige Menüs anders aussehen. Ebenfalls haben Nutzer in Foren berichtet, dass an manchen Tagen ein Image einen Fehler haben kann, welcher dann mit dem nächsten Image an den nächsten Tagen behoben sein kann.

9. OpenClaw Befehle ausführen 

Sie können nun sowohl per Telegram:

Chat-Screenshot: Grüne Rechts-Chats mit 'Erzähle mir einen Witz' und 'Was macht ein Clown im Büro?'; linke Blasen 'Faxen!'

Als auch per Webseite Befehle ausführen: 

Helles Chatfenster mit runden Blasen; obere rosa Blase mit Text, darunter weiße Blase mit Frage, rechts kleines Icon.

Unter den Einstellungen können Sie sich auch anzeigen lassen, wie viele Anfragen OpenClaw bereits verschickt hat und welche Kosten dafür ungefähr angefallen sind. Sie sollten dies aber zur Sicherheit immer zusätzlich auf der Plattform des KI-Betreibers einsehen.

Screenshot eines Dashboards; linke Seitenleiste mit markiertem 'Nutzung'; Überschrift 'Usage Overview' und KPI-Karten.

VPS Server von METANET

Finden Sie den Server der zu Ihren Anforderungen passt – jetzt einfach vergleichen.

Dunkler Hintergrund mit vielen blauen Leuchtpunkten, verbunden durch blaue Linien; rote Leuchtknoten.
Weitere passende Themen