// dokumentacja openclaw

Instalacja OpenClaw z Podman — bezrootowa konteneryzacja

OpenClaw z Podman

Podman to bezrootowa alternatywa dla Dockera, kompatybilna z obrazami OCI. OpenClaw Gateway działa w kontenerze Podman zarządzanym przez zwykłego użytkownika — bez potrzeby uprawnień root. Stan jest przechowywany trwale w katalogu ~/.openclaw na hoście.

Architektura

Konfiguracja opiera się na trzech elementach:

  • Podman — uruchamia kontener Gateway.
  • Host CLI openclaw — pełni rolę płaszczyzny sterowania (control plane).
  • Katalog stanu — ~/.openclaw na hoście, montowany do kontenera.

Wymagania wstępne

  • Podman w trybie rootless (bezrootowym).
  • Zainstalowane CLI OpenClaw na hoście.
  • Opcjonalnie: usługi użytkownika systemd lub uprawnienia sudo.

Szybki start

1. Uruchom skrypt konfiguracyjny

./scripts/podman/setup.sh

Skrypt zbuduje lokalny obraz, utworzy pliki konfiguracyjne z ustawieniami trybu Gateway i wygeneruje tokeny uwierzytelniające.

2. Uruchom kontener

./scripts/podman/run.sh

Kontener działa z bieżącym UID/GID użytkownika. Katalogi stanu są montowane jako bind mounts.

3. Przeprowadź onboarding

Otwórz panel sterowania w przeglądarce i przejdź przez kreator konfiguracji — dodaj klucze API i skonfiguruj kanały.

4. Zarządzaj z hosta

# Ustaw zmienna wskazujaca na kontener
export OPENCLAW_CONTAINER=openclaw-gateway

# Wykonuj polecenia zdalnie z hosta
openclaw agent list
openclaw gateway status

Konfiguracja Quadlet (systemd)

Na systemach Linux z systemd możesz użyć Quadlet do zarządzania kontenerem jako usługa użytkownika:

# Skopiuj plik Quadlet
cp scripts/podman/openclaw.container ~/.config/containers/systemd/

# Przeladuj i uruchom
systemctl --user daemon-reload
systemctl --user start openclaw.service
systemctl --user enable openclaw.service

Dzięki temu kontener uruchamia się automatycznie po zalogowaniu użytkownika.

Zaawansowane opcje

  • Wybór obrazu — zmienna OPENCLAW_IMAGE pozwala użyć innego obrazu niż domyślny.
  • Mapowanie portów — domyślnie port 18789, konfigurowalny przez zmienne środowiskowe.
  • Dodatkowe zmienne — skrypt używa listy dozwolonych zmiennych (allowlist) zamiast przekazywania całej konfiguracji.

Rozwiązywanie problemów

  • Błąd uprawnień — upewnij się, że ~/.openclaw należy do bieżącego użytkownika, a nie do root.
  • Brak konfiguracji — zweryfikuj, że plik ~/.openclaw/openclaw.json istnieje i jest poprawny.
  • CLI nie łączy się z kontenerem — sprawdź zmienną OPENCLAW_CONTAINER i czy kontener jest uruchomiony (podman ps).
  • Problemy z SELinux — na systemach z włączonym SELinux dodaj opcję :Z do montowanych wolumenów.