NOWOŚĆ 📢 Ograniczona oferta na start: do 70% zniżki na pierwszy miesiąc, na każdą grę!Zobacz plany

Jak uruchomić OpenClaw w Dockerze

OpenClawUpdated Nov 6, 20267 min read

Krótka odpowiedź. Sklonuj repozytorium OpenClaw i uruchom ./scripts/docker/setup.sh z ustawionym OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest", żeby użył oficjalnego gotowego obrazu zamiast budować własny (budowa ze źródeł wymaga co najmniej 6 GB RAM). Skrypt przeprowadza onboarding, zapisuje token Gateway w .env i uruchamia Gateway przez Docker Compose. Zamontuj folder stanu ~/.openclaw, żeby nic nie przepadło po wymianie kontenera, i trzymaj port 18789 zamknięty przed internetem: porty publikowane przez Dockera omijają UFW. Daj kontenerowi co najmniej 2 GB pamięci; przy limicie 1 GB bez swapu oficjalny obraz został w naszym teście ubity z braku pamięci.

Sprawdzone 6 listopada 2026, aktualne dla OpenClaw 2026.11.1.

Ten poradnik opiera się na dokumentacji Dockera w OpenClaw, pliku docker-compose.yml z jego repozytorium i teście oficjalnego obrazu, który przeprowadziliśmy na własnym serwerze (liczby niżej).

Czy w ogóle potrzebujesz Dockera?

Dokumentacja OpenClaw nazywa Dockera opcjonalnym: przydaje się do odizolowanego, jednorazowego Gateway albo na hoście, na którym nie chcesz instalować Node.js. Na VPS, który uruchamia tylko OpenClaw, główną drogą jest zwykła instalacja npm z usługą systemd (zobacz hosting OpenClaw 24/7). Docker dobrze pasuje, gdy już uruchamiasz inne rzeczy w kontenerach.

Czym jest oficjalny obraz

  • Gdzie: ghcr.io/openclaw/openclaw (główny) i lustro w Docker Hub openclaw/openclaw. OpenClaw odradza nieoficjalne lustra.
  • Tagi: latest, dokładne wydania, takie jak 2026.11.1, warianty -slim oraz warianty -browser, które zawierają Chromium do automatyzacji przeglądarki.
  • W środku: działa jako użytkownik node pod tini, a jego entrypoint uruchamia openclaw doctor --fix na zamontowanym stanie, zanim wystartuje Gateway, więc aktualizacje obrazu migrują stan za ciebie. Wbudowany health check wywołuje /healthz.

Co zmierzyliśmy

Pobraliśmy ghcr.io/openclaw/openclaw:2026.11.1 na jednym z naszych serwerów z Linuksem i uruchomiliśmy Gateway dwa razy przez docker run (nie Compose), bez modelu, bez aplikacji czatu, bez opublikowanego portu, z limitem 1 CPU i bez swapu: raz z limitem pamięci 2 GB, raz z 1 GB. Wartości pamięci są w MiB, tak jak podaje Linux.

Wynik
PobieranieOkoło 695 MB skompresowane (amd64), 2 818 MiB (około 3 GB) na dysku po pobraniu
Node.js w obrazie24.22.1
Limit 2 GB: start/healthz odpowiedział po 48 sekundach od docker run, wraz z przebiegiem doctor. Gateway załadował 14 wtyczek i zapisał "ready" 22 sekundy po własnym starcie
Limit 2 GB: pamięć w spoczynku1 349 MiB w 30 sekund po odpowiedzi na health check, 1 106 MiB dwie minuty później, szczyt 1 439 MiB. Bez zdarzeń braku pamięci
Limit 1 GBGateway doszedł do "ready", po czym cały kontener został ubity z braku pamięci około 54 sekundy po starcie (kod wyjścia 137)

FAQ OpenClaw podaje 1 GB jako absolutne minimum dla VPS. Z tym wydaniem w kontenerze z limitem 1 GB to nie wystarczyło. Zaplanuj 2 GB lub więcej, a jeszcze więcej na prawdziwe rozmowy, kilka aplikacji czatu albo obraz -browser. Więcej w ile pamięci potrzebuje OpenClaw.

Krok po kroku z Docker Compose

  1. Zainstaluj Docker Engine i Docker Compose v2, potem pobierz repozytorium:
    git clone https://github.com/openclaw/openclaw.git
    cd openclaw
  2. Uruchom skrypt setup z gotowym obrazem:
    export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
    ./scripts/docker/setup.sh
    Bez OPENCLAW_IMAGE skrypt buduje openclaw:local ze źródeł, co wymaga co najmniej 6 GB RAM; budowa kończąca się komunikatem Killed lub kodem wyjścia 137 wyczerpała pamięć. Skrypt pyta o klucz API dostawcy, generuje token Gateway i zapisuje go w .env, a potem uruchamia Gateway.
  3. Otwórz dashboard pod adresem http://127.0.0.1:18789/ na tej samej maszynie i wklej token z .env w Settings. Potrzebujesz linku jeszcze raz: docker compose run --rm openclaw-cli dashboard --no-open.
  4. Dodaj aplikację czatu:
    docker compose run --rm openclaw-cli channels add --channel telegram --token "<token>"
    docker compose run --rm openclaw-cli channels add --channel discord --token "<token>"
    Nowe wiadomości prywatne zaczynają w trybie parowania: napisz do bota, a potem uruchom docker compose run --rm openclaw-cli pairing approve telegram <CODE>. Więcej w jak połączyć OpenClaw z Telegramem.
  5. Sprawdź:
    docker compose ps
    docker compose logs --tail=100 openclaw-gateway
    curl -fsS http://127.0.0.1:18789/healthz

Dla hosta bez interaktywnych pytań OpenClaw opisuje bootstrap bez interfejsu: umieść klucz dostawcy, OPENCLAW_GATEWAY_TOKEN i TELEGRAM_BOT_TOKEN w .env, a potem uruchom onboard --non-interactive i channels add --channel telegram --use-env przez kontener Gateway, przed docker compose up -d openclaw-gateway.

Trwałość: co zamontować i archiwizować

W kontenerzeCo zawieraStrona hosta (domyślnie ze skryptu setup)
/home/node/.openclawopenclaw.json, bazy SQLite (uwierzytelnianie dostawców, sesje), zainstalowane wtyczki, sekrety w .env$HOME/.openclaw
/home/node/.openclaw/workspacePrzestrzeń robocza agenta i pliki pamięci$HOME/.openclaw/workspace
/home/node/.config/openclawKlucz do starszych zaszyfrowanych poświadczeń$HOME/.openclaw-auth-profile-secrets
  • Montuj folder, nigdy pojedynczy plik. OpenClaw zapisuje openclaw.json, podmieniając go, więc montowanie pojedynczego pliku może sprawić, że kontener czyta starą kopię.
  • Trzymaj stan na dysku lokalnym. Udziały NFS, SMB i CIFS nie zapewniają SQLite koordynacji pamięci współdzielonej, której potrzebuje, i mogą go uszkodzić.
  • Jeden Gateway na folder stanu. Zatrzymaj stary kontener, zanim uruchomisz jego zastępcę.
  • Traktuj kopie zapasowe jak sekrety. Dokumentacja OpenClaw mówi, że tokeny OAuth leżą w tych plikach SQLite jako zwykły tekst.
  • Wszystko, co zainstalujesz wewnątrz działającego kontenera, przepada po jego odtworzeniu. Dodatkowe narzędzia trafiają do obrazu podczas budowania.

Trzymaj port prywatnie

docker-compose.yml z repozytorium publikuje 18789 (oraz 18790 i 3978) na hoście i uruchamia Gateway z --bind lan, więc opublikowany port do niego sięga. Na VPS oznacza to, że port dashboardu jest na publicznym adresie, dopóki go nie zablokujesz. Dwie pułapki:

  • UFW tego nie obejmuje. Opublikowane porty kontenerów przechodzą przez własne łańcuchy przekazywania Dockera, a nie tylko przez reguły INPUT hosta. Dokumentacja OpenClaw podaje reguły dla łańcucha DOCKER-USER; działa też firewall w chmurze, który dopuszcza tylko SSH.
  • Do dashboardu używaj tunelu: ssh -N -L 18789:127.0.0.1:18789 root@<vps-ip>, potem otwórz http://127.0.0.1:18789/ na własnym komputerze.

Compose ustawia też restart: unless-stopped, więc Gateway wraca po awarii lub restarcie, i usuwa uprawnienia NET_RAW i NET_ADMIN.

Aktualizacja

docker compose pull openclaw-gateway openclaw-cli
docker compose stop openclaw-gateway
docker compose up -d openclaw-gateway

Entrypoint obrazu naprawia i migruje zamontowany stan przy starcie. Najpierw zrób kopię ~/.openclaw. Z latest przechodzisz na każde stabilne wydanie; przypnij tag, taki jak 2026.11.1, żeby zostać na miejscu.

Pomiń Dockera: uruchom OpenClaw w PlayNHost

Serwer PlayNHost to już odizolowany kontener z własnym limitem pamięci, więc nie ma czego komponować. Nie używamy oficjalnego obrazu: serwer działa na Node.js 26 i przy pierwszym starcie instaluje pakiet npm openclaw, a potem sprawdza nowsze wydanie przy każdym starcie.

  • Konfiguracja: wklej klucz dostawcy AI i token bota Telegram lub Discord na stronie Agent, potem naciśnij Start. W naszym teście tej samej konfiguracji agent działał 67 sekund po pierwszym Start, wraz z instalacją.
  • Trwałość: .openclaw leży na dysku serwera i w jego kopiach zapasowych (około 4 MB w naszym teście); program i jego pamięci podręczne są instalowane ponownie, a nie archiwizowane.
  • Port: Gateway nasłuchuje tylko na własnym adresie loopback serwera, na porcie 18789, z tokenem generowanym przez panel. Nic nie jest publikowane, więc nie ma firewalla, w którym można się pomylić.
  • Pamięć: plany 2 GB, 4 GB i 8 GB. Start odmawia uruchomienia OpenClaw poniżej 2 GB.
  • Jeszcze niedostępne: dashboard webowy, aplikacje czatu inne niż Telegram i Discord oraz automatyzacja przeglądarki (brak Chromium).

Utwórz serwer OpenClaw.

PlayNHost nie jest powiązany z OpenClaw Foundation. OpenClaw to oprogramowanie open source na licencji MIT.

Masz już serwer gdzie indziej? Przenieś go do nas

NASZE OSTATNIE WPISY