Platforms overview
EasyRunner
EasyRunner hostet das OpenClaw Gateway als kleine containerisierte App hinter seinem Caddy-Proxy. Diese Anleitung setzt einen EasyRunner-Host voraus, auf dem Podman-kompatible Compose-Apps ausgeführt werden und der HTTPS über Caddy terminiert.
Voraussetzungen
- Ein EasyRunner-Server mit einer Domain, die auf ihn verweist.
- Das offizielle OpenClaw-Image (
ghcr.io/openclaw/openclaw) oder Ihr eigener Build. - Ein persistentes Konfigurations-Volume für
/home/node/.openclaw. - Ein persistentes Workspace-Volume für
/home/node/.openclaw/workspace. - Ein starkes Gateway-Token oder Passwort.
Lassen Sie die Geräteauthentifizierung nach Möglichkeit aktiviert. Wenn Ihr Reverse-Proxy die Geräteidentität nicht korrekt übertragen kann, korrigieren Sie zuerst die Einstellungen für vertrauenswürdige Proxys (siehe Authentifizierung über vertrauenswürdige Proxys); verwenden Sie gefährliche Umgehungen der Authentifizierung nur in einem vollständig privaten, vom Betreiber kontrollierten Netzwerk.
Compose-App
Erstellen Sie eine EasyRunner-App mit einer Compose-Datei nach folgendem Muster:
services: openclaw: image: ghcr.io/openclaw/openclaw:latest restart: unless-stopped environment: OPENCLAW_GATEWAY_TOKEN: ${OPENCLAW_GATEWAY_TOKEN} OPENCLAW_HOME: /home/node OPENCLAW_STATE_DIR: /home/node/.openclaw OPENCLAW_CONFIG_PATH: /home/node/.openclaw/openclaw.json OPENCLAW_WORKSPACE_DIR: /home/node/.openclaw/workspace volumes: - openclaw-config:/home/node/.openclaw - openclaw-workspace:/home/node/.openclaw/workspace labels: caddy: openclaw.example.com caddy.reverse_proxy: "{{upstreams 1455}}" command: ["node", "openclaw.mjs", "gateway", "--bind", "lan", "--port", "1455"] volumes: openclaw-config: openclaw-workspace:Ersetzen Sie openclaw.example.com durch den Hostnamen Ihres Gateways. Speichern Sie
OPENCLAW_GATEWAY_TOKEN im Secret-/Umgebungsvariablen-Manager von EasyRunner, anstatt
es in die App-Definition zu übernehmen. Das Image bindet standardmäßig an die Loopback-Schnittstelle,
daher ist die explizite Angabe --bind lan --port 1455 unter command erforderlich, damit Caddy
den Container erreichen kann.
OpenClaw konfigurieren
Halten Sie das Gateway innerhalb des persistenten Konfigurations-Volumes ausschließlich über den Proxy erreichbar und verlangen Sie eine Authentifizierung:
{ gateway: { bind: "lan", port: 1455, auth: { token: "${OPENCLAW_GATEWAY_TOKEN}", }, },}Wenn Caddy TLS für das Gateway terminiert, konfigurieren Sie die Einstellungen für vertrauenswürdige Proxys für den exakten Proxy-Pfad, anstatt die Authentifizierungsprüfungen global zu deaktivieren. Siehe Authentifizierung über vertrauenswürdige Proxys.
Überprüfen
Von Ihrer Workstation aus:
openclaw gateway probe --url https://openclaw.example.com --token <token>openclaw gateway status --url https://openclaw.example.com --token <token>Auf dem EasyRunner-Host benötigen GET /healthz (Verfügbarkeit) und GET /readyz
(Bereitschaft) keine Authentifizierung und dienen als Grundlage für die integrierte
Container-Zustandsprüfung des Images. Prüfen Sie außerdem die App-Protokolle auf
ein empfangsbereites Gateway und darauf, dass beim Start keine Authentifizierungsfehler
bei SecretRef, Plugins oder Kanälen auftreten.
Updates und Sicherungen
- Rufen Sie das neue OpenClaw-Image ab oder erstellen Sie es und stellen Sie anschließend die EasyRunner-App erneut bereit.
- Sichern Sie das Volume
openclaw-configvor Updates. Es enthältopenclaw.json,agents/<agentId>/agent/auth-profiles.jsonund den Zustand installierter Plugin-Pakete. - Sichern Sie
openclaw-workspace, wenn Agenten dort dauerhafte Projektdaten speichern. - Führen Sie nach größeren Updates
openclaw doctoraus, um Konfigurationsmigrationen und Dienstwarnungen zu erkennen.
Fehlerbehebung
gateway probekann keine Verbindung herstellen: Stellen Sie sicher, dass der Caddy-Hostname auf die App verweist und der Container auf0.0.0.0:1455lauscht.- Die Authentifizierung schlägt fehl: Rotieren Sie gleichzeitig das Token in den EasyRunner-Secrets und im lokalen Client-Befehl.
- Dateien gehören nach der Wiederherstellung root: Das Image wird als
node(uid 1000) ausgeführt; korrigieren Sie die Berechtigungen der eingebundenen Volumes, damit dieser Benutzer Schreibzugriff auf/home/node/.openclawund/home/node/.openclaw/workspacehat. - Browser- oder Kanal-Plugins schlagen fehl: Prüfen Sie, ob die erforderlichen externen Binärdateien, ausgehenden Netzwerkverbindungen und eingebundenen Anmeldedaten im Container verfügbar sind.