Platforms overview
EasyRunner
EasyRunner hostuje Gateway OpenClaw jako niewielką aplikację kontenerową za swoim proxy Caddy. W tym przewodniku założono użycie hosta EasyRunner, który uruchamia aplikacje Compose zgodne z Podmanem i terminuję połączenia HTTPS za pomocą Caddy.
Zanim zaczniesz
- Serwer EasyRunner z przypisaną do niego domeną.
- Oficjalny obraz OpenClaw (
ghcr.io/openclaw/openclaw) lub własna kompilacja. - Trwały wolumin konfiguracji dla
/home/node/.openclaw. - Trwały wolumin obszaru roboczego dla
/home/node/.openclaw/workspace. - Silny token lub hasło Gateway.
W miarę możliwości pozostaw uwierzytelnianie urządzeń włączone. Jeśli odwrotne proxy nie może poprawnie przekazywać tożsamości urządzenia, najpierw popraw ustawienia zaufanego proxy (zobacz Uwierzytelnianie przez zaufane proxy); niebezpieczne obejścia uwierzytelniania stosuj wyłącznie w całkowicie prywatnej sieci kontrolowanej przez operatora.
Aplikacja Compose
Utwórz aplikację EasyRunner z plikiem Compose o następującej strukturze:
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:Zastąp openclaw.example.com nazwą hosta swojego Gateway. Zapisz
OPENCLAW_GATEWAY_TOKEN w menedżerze sekretów lub zmiennych środowiskowych
EasyRunner zamiast umieszczać go w definicji aplikacji. Obraz domyślnie nasłuchuje
na interfejsie local loopback, dlatego jawne ustawienie
--bind lan --port 1455 w command jest wymagane, aby Caddy mógł uzyskać dostęp
do kontenera.
Konfiguracja OpenClaw
W trwałym woluminie konfiguracji ustaw Gateway tak, aby był dostępny wyłącznie przez proxy i wymagał uwierzytelniania:
{ gateway: { bind: "lan", port: 1455, auth: { token: "${OPENCLAW_GATEWAY_TOKEN}", }, },}Jeśli Caddy terminuję TLS dla Gateway, skonfiguruj ustawienia zaufanego proxy dla dokładnej ścieżki proxy zamiast globalnie wyłączać kontrole uwierzytelniania. Zobacz Uwierzytelnianie przez zaufane proxy.
Weryfikacja
Na swojej stacji roboczej:
openclaw gateway probe --url https://openclaw.example.com --token <token>openclaw gateway status --url https://openclaw.example.com --token <token>Na hoście EasyRunner żądania GET /healthz (sprawdzenie aktywności) i
GET /readyz (sprawdzenie gotowości) nie wymagają uwierzytelniania i obsługują
wbudowaną w obraz kontrolę stanu kontenera. Sprawdź również w dziennikach
aplikacji, czy Gateway nasłuchuje oraz czy nie występują błędy SecretRef,
Pluginów ani uwierzytelniania kanałów podczas uruchamiania.
Aktualizacje i kopie zapasowe
- Pobierz lub zbuduj nowy obraz OpenClaw, a następnie ponownie wdróż aplikację EasyRunner.
- Przed aktualizacjami utwórz kopię zapasową woluminu
openclaw-config. Zawiera on plikiopenclaw.json,agents/<agentId>/agent/auth-profiles.jsonoraz stan zainstalowanych pakietów Pluginów. - Utwórz kopię zapasową
openclaw-workspace, jeśli agenci zapisują tam trwałe dane projektowe. - Po dużych aktualizacjach uruchom
openclaw doctor, aby wykryć wymagane migracje konfiguracji i ostrzeżenia usług.
Rozwiązywanie problemów
gateway probenie może nawiązać połączenia: upewnij się, że nazwa hosta Caddy wskazuje aplikację oraz że kontener nasłuchuje na0.0.0.0:1455.- Uwierzytelnianie kończy się niepowodzeniem: jednocześnie zmień token w sekretach EasyRunner i w poleceniu lokalnego klienta.
- Po przywróceniu pliki należą do użytkownika root: obraz działa jako
node(uid 1000); popraw uprawnienia zamontowanych woluminów, aby ten użytkownik mógł zapisywać w/home/node/.openclawi/home/node/.openclaw/workspace. - Pluginy przeglądarki lub kanałów nie działają: sprawdź, czy wymagane zewnętrzne pliki wykonywalne, wychodzące połączenia sieciowe i zamontowane dane uwierzytelniające są dostępne wewnątrz kontenera.