-
Was ist ein vServer?
-
vServer und Sicherheit
-
vServer - Anwendungsfälle
-
vServer bei dogado
-
vServer und Plesk
-
vServer Betriebssyteme
-
vServer Glossar
Flexibel, leistungsstark und sofort einsatzbereit – dein dogado vServer
Der dogado vServer/VPS bietet dir volle Kontrolle, hohe Performance und flexible Ressourcen. Ideal für Websites, Shops und Anwendungen – sofort einsatzbereit, sicher gehostet in deutschen Rechenzentren.
0. Überblick
- Verwendetes System: VPS/vServer Debian 12 64 bit
- Genutzter User: Ich nehme alles als „root“ vor
- Zeitdauer: ca. 20 Minuten
- Schwierigkeit: Einfach. Nur Code kopieren 😉
- Besonderheiten:
- Grundlage ist folgende Anleitung: https://www.dogado.de/vps/vserver-anwendungsfaelle/traefik-reverseproxy-auf-vserver-installieren
Diese Anleitung muss zuerst ausgeführt werden. - Die Installation von Docker / Docker Compose wird hier vorausgesetzt.
- Ihr benötigt einen API Key eines KI Systems, da OpenClaw komplett von der KI abhängig ist
1.1 Einleitung
OpenClaw ist ein relativ neues Open-Source-Projekt, das seit seiner Veröffentlichung viel Aufmerksamkeit bekommen hat. Grob gesagt könnt ihr damit einen KI‑Agenten betreiben, der über Integrationen mit euch chattet und Aufgaben über angebundene KI‑Modelle ausführt (z. B. Text generieren, einfache Workflows anstoßen).
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. Ihr könnt 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 abspeichen. Dazu geben wir folgendes in der Konsole ein:
mkdir -p /opt/containers/openclaw
Ihr könnt hier auch ein anderes Verzeichnis verwenden. Müsst 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 öffnet ihr folgende Datei:
nano /opt/containers/openclaw/docker-compose.yml
Nun kopiert ihr 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. Gebt 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önnt ihr 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
Später müsst ihr einen API Key eines KI Systems eingeben, um OpenClaw nutzen zu können. In diesem Beispiel verwenden wir Google Gemini. Dazu geht ihr auf folgende URL: https://aistudio.google.com/
Registriert euch dort und dann könnt ihr euren API Key einsehen. Ebenfalls seht ihr dort die Kosten, welche ihr für Anfragen an Gemini bezahlen müsst.
3. Kommunikations-Gateway hinzufügen (optional)
OpenClaw bietet eine große Auswahl an Gateways über diese es kommunizieren kann.
Grundsätzlich stellt OpenClaw eine Webseite bereit, weshalb ihr kein weiteres Gateway benötigt. In diesem Beispiel verwenden wir den Dienst Telegram, da dieser kostenlos und sehr einfach einzurichten ist.
Im ersten Schritt legt ihr euch einen Telegram Account an bzw. loggt euch in euren vorhandenen Account ein.
Anschließend sucht ihr folgenden Kontakt: „@BotFather“.
Wichtig hierbei ist, dass ihr den Dienst mit dem „blauen Haken“ nutzt, da es viele Fake Dienste gibt.
Mit „/start“ seht ihr einen Überblick aller Parameter.
Wählt hier „/newbot“ aus und vergebt einen Namen für euren Bot. Unter diesen Namen könnt ihr den Bot später suchen. Wichtig ist, dass der Namen auf „bot“ enden muss.
Wenn alles korrekt war, dann solltet ihr eine Bestätigung inklusive eines http API Tokens erhalten. Dieses benötigen wir später für OpenClaw.
4. OpenClaw Einrichtung starten
Wichtig Hinweis
An mehreren Stellen lädt OpenClaw sehr lange. Wichtig ist, dass ihr hier einfach mehrere Minuten wartet, bis der Dialog weitergeht. In dieser Anleitung seht ihr auf den Bildern immer auf welche Dialoge / Ausgaben ihr warten müsst, bevor ihr weitermachen könnt.
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ählt im ersten Schritt „yes“ aus:
Hier wählen wir „Manual“, damit wir alle Einstellungen vornehmen können:
Das Workspace Directory bestätigt ihr einfach:
Nun könnt ihr euer KI-System auswählen. In unserem Fall ist es Google.
Hier wählen wir „Google Gemini API key“ aus:
Jetzt wählen wir, dass wir den API Key direkt einfügen wollen („Paste API key now“):
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.
Den Gateway Port bestätigt ihr einfach:
Wählt nun „LAN (0.0.0.0)“ aus, damit die Kommunikation später mit Traefik funktioniert:
Die Kommunikation soll mittels Token geschützt werden. Dies haben wir ja bereits zuvor erstellen lassen.
Tailscale wählen wir nicht aus:
Nun wählen wir „Generate/store plaintext token“:
Bestätigt das vorausgewählte Token mit ENTER.
Hier könnt ihr nun wählen, ob ihr einen Channel / Gateway nutzen wollt, oder ob ihr OpenClaw einfach per Webseite nutzen möch tet. Wir wählen „Yes“, damit wir Telegram einbinden können.
Wir wählen Telegram, da wir es damit verbinden wollen.
Nun dauert es wenige Minuten, bis ihr zur Eingabe eurer Telegram API aufgefordert werdet:
Nun wählen wir „Finished“ aus, da wir keine weiteren Dienste verbinden möchten:
Beim Pairing wählen wir „no“ aus, da dieser Modus für uns passt.
Nun wählen wir noch einen Search Provider aus. Wir entscheiden uns für Google, da wir hier bereits einen API Key haben:
Ihr könnt euch nun verschieden Skills (Fähigkeiten) auswählen für OpenClaw, welche installiert werden sollen:
Wir überspringen den Schritt mit „Skip for now“.
Jetzt könnt ihr noch weitere API Keys eingeben. Wir überspringen dies aber.
Jetzt könnt ihr noch Hooks festlegen. Auch dies überspringen wir:
Zum Schluss installieren wir noch die zsh Shell:
OpenClaw ist nun fertig eingerichtet und führt die Konfiguration durch. Dies dauert mehrere Minuten. Bitte wartet so lange, bis ihr folgendes seht:
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 wartet bis ihr folgendes seht:
6. OpenClaw starten
Kopiert euch nun den angezeigten Link und fügt diesen in euren Browser ein. Auch hier dauert es wieder mehrere Minuten, bis OpenClaw fertig gestartet ist.
Anschließend solltet ihr diese Meldung erhalten:
Gebt hier euer Nutzername / Passwort aus Schritt 1.3.4 ein.
Nun seid ihr auf der OpenClaw Oberfläche und könnt dort weitere Einstellungen vornehmen bzw. Befehle ausführen.
7. Telegram mit OpenClaw verbinden
Sucht nun euren Telegram Bot, welchen ihr im Schritt 3 erstellt habt.
Mit dem Befehl „/start“ solltet ihr folgendes sehen:
Diesen Pairing Code kopiert ihr euch nun. Anschließend führt ihr auf eurem 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 eurem Server erfolgreich bearbeitet wurde, gebt bei Telegram „/status“ ein. Dort solltet ihr nun folgendes sehen:
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
Ihr könnt nun sowohl per Telegram:
Als auch per Webseite Befehle ausführen:
Unter den Einstellungen könnt ihr euch auch anzeigen lassen, wie viele Anfragen OpenClaw bereits verschickt hat und welche Kosten dafür angefallen ungefähr angefallen ist. Ihr solltet dies aber zur Sicherheit immer zusätzlich in auf der Plattform des KI-Betreibers einsehen.