- Podman uruchamia kontener Gateway.
- CLI
openclawna hoście pełni funkcję płaszczyzny sterowania. - Trwały stan jest domyślnie przechowywany na hoście w
~/.openclaw. - Do codziennego zarządzania używa się
openclaw --container <name> ...zamiastsudo -u openclaw,podman execlub osobnego użytkownika usługi.
Wymagania wstępne
- Podman w trybie bez uprawnień roota
- CLI OpenClaw zainstalowane na hoście
- Opcjonalnie:
systemd --user, jeśli chcesz automatycznego uruchamiania zarządzanego przez Quadlet - Opcjonalnie:
sudotylko wtedy, gdy chcesz użyćloginctl enable-linger "$(whoami)", aby zapewnić uruchamianie podczas rozruchu na hoście bez monitora
Szybki start
1
Konfiguracja jednorazowa
W katalogu głównym repozytorium uruchom Możesz też ustawić
./scripts/podman/setup.sh.Skrypt buduje obraz openclaw:local w magazynie Podman bieżącego użytkownika (lub pobiera OPENCLAW_IMAGE / OPENCLAW_PODMAN_IMAGE, jeśli je ustawiono), tworzy ~/.openclaw/openclaw.json z gateway.mode: "local", jeśli plik nie istnieje, oraz tworzy ~/.openclaw/.env z wygenerowanym OPENCLAW_GATEWAY_TOKEN, jeśli plik nie istnieje.Opcjonalne zmienne środowiskowe czasu budowania:Aby zamiast tego użyć konfiguracji zarządzanej przez Quadlet (tylko Linux i usługi użytkownika systemd):
OPENCLAW_PODMAN_QUADLET=1.2
Uruchom kontener Gateway
--userns=keep-id i montuje stan OpenClaw z hosta w kontenerze.3
Uruchom konfigurację początkową wewnątrz kontenera
http://127.0.0.1:18789/ i użyj tokenu z ~/.openclaw/.env.Uwierzytelnianie modelu: podczas konfiguracji użyj uwierzytelniania zarządzanego przez OpenClaw (kluczy API Anthropic albo uwierzytelniania OAuth w przeglądarce lub za pomocą kodu urządzenia OpenAI Codex dla OpenAI obsługiwanego przez Codex). Program uruchamiający Podman nie montuje katalogów poświadczeń CLI hosta, takich jak ~/.claude lub ~/.codex, w kontenerze konfiguracji ani Gateway. Istniejące logowania CLI hosta są jedynie udogodnieniem na tym samym hoście — w instalacjach kontenerowych przechowuj uwierzytelnianie dostawcy w zamontowanym stanie ~/.openclaw, którym zarządza konfiguracja.4
Zarządzaj działającym kontenerem za pomocą CLI hosta
openclaw są automatycznie uruchamiane wewnątrz tego kontenera:~/.openclaw/.env tylko niewielką listę dozwolonych kluczy związanych z Podman i przekazuje do kontenera jawnie określone zmienne środowiskowe środowiska uruchomieniowego; nie przekazuje całego pliku środowiskowego do Podman.
Podman i Tailscale
Aby uzyskać dostęp przez HTTPS lub zdalną przeglądarkę, postępuj zgodnie z główną dokumentacją Tailscale. Uwagi dotyczące Podman:- Zachowaj adres publikowania Podman jako
127.0.0.1. - Preferuj zarządzane przez hosta
tailscale servezamiastopenclaw gateway --tailscale serve. - W systemie macOS, jeśli lokalny kontekst uwierzytelniania urządzenia w przeglądarce jest zawodny, użyj dostępu przez Tailscale zamiast doraźnych obejść z lokalnymi tunelami.
Systemd (Quadlet, opcjonalnie)
Jeśli uruchomiono./scripts/podman/setup.sh --quadlet, skrypt konfiguracyjny instaluje plik Quadlet w ~/.config/containers/systemd/openclaw.container.
Po edycji pliku Quadlet:
127.0.0.1 (18789 dla Gateway, 18790 dla mostu), --bind lan wewnątrz kontenera, przestrzeń nazw użytkownika keep-id, OPENCLAW_NO_RESPAWN=1, Restart=on-failure oraz TimeoutStartSec=300. Odczytuje ~/.openclaw/.env jako plik EnvironmentFile środowiska uruchomieniowego dla wartości takich jak OPENCLAW_GATEWAY_TOKEN, ale nie używa listy dozwolonych nadpisań specyficznych dla Podman z ręcznego programu uruchamiającego. Aby użyć niestandardowych publikowanych portów, adresu publikowania lub innych flag uruchamiania kontenera, skorzystaj z ręcznego programu uruchamiającego albo bezpośrednio edytuj ~/.config/containers/systemd/openclaw.container, a następnie przeładuj i ponownie uruchom usługę.
Konfiguracja, środowisko i pamięć masowa
- Katalog konfiguracji:
~/.openclaw - Katalog przestrzeni roboczej:
~/.openclaw/workspace - Plik tokenu:
~/.openclaw/.env - Skrypt uruchamiający:
./scripts/run-openclaw-podman.sh
OPENCLAW_CONFIG_DIR -> /home/node/.openclaw, OPENCLAW_WORKSPACE_DIR -> /home/node/.openclaw/workspace. Domyślnie są to katalogi hosta, a nie anonimowy stan kontenera, dlatego openclaw.json, pliki auth-profiles.json poszczególnych agentów, stan kanałów i dostawców, sesje oraz przestrzeń robocza pozostają zachowane po zastąpieniu kontenera. Konfiguracja początkowa dodaje również wartości 127.0.0.1 i localhost do gateway.controlUi.allowedOrigins dla publikowanego portu Gateway, dzięki czemu lokalny pulpit działa z powiązaniem kontenera innym niż local loopback.
Przydatne zmienne środowiskowe ręcznego programu uruchamiającego (zapisz je w ~/.openclaw/.env; program uruchamiający odczytuje ten plik przed ostatecznym ustaleniem domyślnych ustawień kontenera i obrazu):
Jeśli używasz niestandardowego
OPENCLAW_CONFIG_DIR lub OPENCLAW_WORKSPACE_DIR, ustaw te same zmienne zarówno dla poleceń ./scripts/podman/setup.sh, jak i późniejszych poleceń ./scripts/run-openclaw-podman.sh launch — program uruchamiający z repozytorium nie zachowuje niestandardowych nadpisań ścieżek między sesjami powłoki.
Uaktualnianie obrazów
Po ponownym zbudowaniu lub pobraniu nowego obrazu uruchom ponownie kontener albo usługę Quadlet. Podczas pierwszego uruchomienia nowej wersji OpenClaw Gateway wykonuje bezpieczne naprawy stanu i pluginów, zanim zgłosi gotowość. Jeśli Gateway zakończy działanie zamiast osiągnąć stan gotowości, uruchom ten sam obraz jednorazowo z poleceniemopenclaw doctor --fix dla tego samego zamontowanego stanu i konfiguracji, a następnie uruchom Gateway ponownie w zwykły sposób:
,Z do obu montowań, jeśli Podman blokuje dostęp do zamontowanego stanu.
Przydatne polecenia
- Dzienniki kontenera:
podman logs -f openclaw - Zatrzymanie kontenera:
podman stop openclaw - Usunięcie kontenera:
podman rm -f openclaw - Otwarcie adresu URL pulpitu za pomocą CLI hosta:
openclaw dashboard --no-open - Kondycja i stan za pomocą CLI hosta:
openclaw gateway status --deep(sonda RPC i dodatkowe skanowanie usług)
Rozwiązywanie problemów
- Odmowa dostępu (EACCES) do konfiguracji lub przestrzeni roboczej: Kontener domyślnie działa z
--userns=keep-idi--user <identyfikator uid użytkownika>:<identyfikator gid użytkownika>. Upewnij się, że ścieżki konfiguracji i przestrzeni roboczej na hoście należą do bieżącego użytkownika. - Uruchomienie Gateway zablokowane (brak
gateway.mode=local): Upewnij się, że plik~/.openclaw/openclaw.jsonistnieje i ustawiagateway.mode="local". Skryptscripts/podman/setup.shtworzy go, jeśli nie istnieje. - Kontener uruchamia się ponownie po aktualizacji obrazu: Uruchom jednorazowe polecenie
openclaw doctor --fixopisane w sekcji Uaktualnianie obrazów, a następnie ponownie uruchom Gateway. - Polecenia CLI kontenera trafiają do niewłaściwego celu: Użyj jawnie
openclaw --container <name> ...albo wyeksportujOPENCLAW_CONTAINER=<name>w powłoce. - Polecenie
openclaw updatekończy się niepowodzeniem z--container: Jest to oczekiwane zachowanie. Ponownie zbuduj lub pobierz obraz, a następnie ponownie uruchom kontener albo usługę Quadlet. - Usługa Quadlet nie uruchamia się: Uruchom
systemctl --user daemon-reload, a następniesystemctl --user start openclaw.service. W systemach bez monitora może być również potrzebnesudo loginctl enable-linger "$(whoami)". - SELinux blokuje montowania: Pozostaw domyślne działanie montowania bez zmian; program uruchamiający automatycznie dodaje
:Zw systemie Linux, gdy SELinux działa w trybie wymuszającym lub zezwalającym.