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
Pobieranie
Około 695 MB skompresowane (amd64), 2 818 MiB (około 3 GB) na dysku po pobraniu
Node.js w obrazie
24.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 spoczynku
1 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 GB
Gateway 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
Zainstaluj Docker Engine i Docker Compose v2, potem pobierz repozytorium:
git clone https://github.com/openclaw/openclaw.git
cd openclaw
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.
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.
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.
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 kontenerze
Co zawiera
Strona hosta (domyślnie ze skryptu setup)
/home/node/.openclaw
openclaw.json, bazy SQLite (uwierzytelnianie dostawców, sesje), zainstalowane wtyczki, sekrety w .env
$HOME/.openclaw
/home/node/.openclaw/workspace
Przestrzeń robocza agenta i pliki pamięci
$HOME/.openclaw/workspace
/home/node/.config/openclaw
Klucz 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.
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).
Używamy plików cookie, aby strona działała, aby rozumieć sposób jej użycia i mierzyć nasz marketing. Możesz zaakceptować wszystko, zaakceptować tylko niezbędne pliki cookie lub wybrać według kategorii.Używamy plików cookie, aby strona działała, aby rozumieć sposób jej użycia i mierzyć nasz marketing. Tutaj są domyślnie włączone. Możesz wyłączyć to, czego nie chcesz.Przeczytaj naszą politykę prywatności