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.
Bevor Sie beginnen
- Ein EasyRunner-Server mit einer darauf verweisenden Domain.
- 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 übermitteln kann, korrigieren Sie zuerst die Einstellungen für vertrauenswürdige Proxys (siehe Authentifizierung über vertrauenswürdige Proxys); verwenden Sie gefährliche Authentifizierungsumgehungen nur in einem vollständig privaten, vom Betreiber kontrollierten Netzwerk.
Compose-App
Erstellen Sie eine EasyRunner-App mit einer Compose-Datei in dieser Form:
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 Geheimnis-/Umgebungsvariablen-Manager von EasyRunner, anstatt
es in die App-Definition einzuchecken. Das Image bindet standardmäßig an die
Loopback-Schnittstelle. Daher ist die explizite Angabe --bind lan --port 1455 in
command erforderlich, damit Caddy den Container erreichen kann.
OpenClaw konfigurieren
Sorgen Sie innerhalb des persistenten Konfigurations-Volumes dafür, dass das Gateway nur über den Proxy erreichbar ist, 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>Vom EasyRunner-Host aus 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 darauf, dass das Gateway Verbindungen annimmt und beim Start keine
Authentifizierungsfehler bei SecretRef, Plugins oder Kanälen auftreten.
Aktualisierungen 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 Aktualisierungen. 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 Aktualisierungen
openclaw doctoraus, um Konfigurationsmigrationen und Dienstwarnungen zu erkennen.
Fehlerbehebung
gateway probekann keine Verbindung herstellen: Vergewissern Sie sich, dass der Caddy-Hostname auf die App verweist und der Container auf0.0.0.0:1455lauscht.- Die Authentifizierung schlägt fehl: Rotieren Sie das Token gleichzeitig in den EasyRunner-Geheimnissen 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 in/home/node/.openclawund/home/node/.openclaw/workspaceschreiben kann. - Browser- oder Kanal-Plugins schlagen fehl: Prüfen Sie, ob die erforderlichen externen Binärdateien, ausgehende Netzwerkverbindungen und eingebundenen Zugangsdaten im Container verfügbar sind.