NIEUW 📢 Beperkte lanceeractie: tot 70% korting op je eerste maand, voor elke game!Bekijk pakketten

OpenClaw met Docker draaien

OpenClawUpdated Nov 6, 20268 min read

Kort antwoord. Kloon de OpenClaw-repository en voer ./scripts/docker/setup.sh uit met OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest" ingesteld, zodat het de officiële kant-en-klare image gebruikt in plaats van er een te bouwen (bouwen uit de broncode vraagt minstens 6 GB RAM). Het script doorloopt de onboarding, schrijft een Gateway-token naar .env en start de Gateway met Docker Compose. Koppel de statusmap ~/.openclaw als volume zodat niets verloren gaat wanneer de container wordt vervangen, en houd poort 18789 gesloten voor internet: door Docker gepubliceerde poorten omzeilen UFW. Geef de container minstens 2 GB geheugen; beperkt tot 1 GB zonder swap werd de officiële image in onze test beëindigd door geheugentekort.

Gecontroleerd op 6 november 2026, juist voor OpenClaw 2026.11.1.

Deze gids gebruikt de Docker-documentatie van OpenClaw, de docker-compose.yml in zijn repository en een test van de officiële image die we op onze eigen server hebben gedraaid (cijfers hieronder).

Heb je Docker eigenlijk nodig?

De documentatie van OpenClaw noemt Docker optioneel: handig voor een geïsoleerde wegwerp-Gateway of een host waarop je geen Node.js wilt installeren. Op een VPS die alleen OpenClaw draait, is de gewone npm-installatie met een systemd-service de hoofdroute (zie OpenClaw 24/7 hosten). Docker past goed als je al andere dingen in containers draait.

Wat de officiële image is

  • Waar: ghcr.io/openclaw/openclaw (hoofdbron) en de Docker Hub-mirror openclaw/openclaw. OpenClaw raadt onofficiële mirrors af.
  • Tags: latest, exacte releases zoals 2026.11.1, -slim-varianten en -browser-varianten die Chromium bevatten voor browserautomatisering.
  • Binnenin: hij draait als gebruiker node onder tini, en zijn entrypoint voert openclaw doctor --fix uit op je gekoppelde status voordat de Gateway start, zodat image-upgrades de status voor je migreren. Een ingebouwde health check roept /healthz aan.

Wat wij hebben gemeten

We haalden ghcr.io/openclaw/openclaw:2026.11.1 binnen op een van onze Linux-servers en startten de Gateway twee keer met docker run (niet Compose), zonder model, zonder chat-app, zonder gepubliceerde poort, beperkt tot 1 CPU en zonder swap: één keer met een geheugenlimiet van 2 GB, één keer met 1 GB. Geheugencijfers zijn in MiB, zoals Linux ze meldt.

Resultaat
DownloadOngeveer 695 MB gecomprimeerd (amd64), 2.818 MiB (ongeveer 3 GB) op schijf na het binnenhalen
Node.js in de image24.22.1
Limiet 2 GB: start/healthz antwoordde 48 seconden na docker run, inclusief de doctor-stap. De Gateway laadde 14 plugins en logde "ready" 22 seconden na het begin van zijn eigen start
Limiet 2 GB: geheugen in rust1.349 MiB 30 seconden nadat hij zijn health check beantwoordde, 1.106 MiB twee minuten daarna, hoogste 1.439 MiB. Geen out-of-memory-gebeurtenissen
Limiet 1 GBDe Gateway bereikte "ready", daarna werd de hele container ongeveer 54 seconden na de start beëindigd door gebrek aan geheugen (exit code 137)

De FAQ van OpenClaw noemt 1 GB als absoluut minimum voor een VPS. Met deze release in een container beperkt tot 1 GB was dat niet genoeg. Reken op 2 GB of meer, en nog meer voor echte gesprekken, meerdere chat-apps of een -browser-image. Meer in hoeveel geheugen OpenClaw nodig heeft.

Stap voor stap met Docker Compose

  1. Installeer Docker Engine en Docker Compose v2 en haal dan de repository op:
    git clone https://github.com/openclaw/openclaw.git
    cd openclaw
  2. Voer het setupscript uit met de kant-en-klare image:
    export OPENCLAW_IMAGE="ghcr.io/openclaw/openclaw:latest"
    ./scripts/docker/setup.sh
    Zonder OPENCLAW_IMAGE bouwt het script openclaw:local uit de broncode, wat minstens 6 GB RAM vraagt; een build die eindigt op Killed of exit code 137 had geen geheugen meer. Het script vraagt om de API-sleutel van je provider, genereert het Gateway-token en schrijft het naar .env, en start daarna de Gateway.
  3. Open het dashboard op http://127.0.0.1:18789/ op dezelfde machine en plak het token uit .env in Settings. Heb je de link opnieuw nodig: docker compose run --rm openclaw-cli dashboard --no-open.
  4. Voeg een chat-app toe:
    docker compose run --rm openclaw-cli channels add --channel telegram --token "<token>"
    docker compose run --rm openclaw-cli channels add --channel discord --token "<token>"
    Nieuwe DM's starten in pairing-modus: stuur je bot een bericht en voer dan docker compose run --rm openclaw-cli pairing approve telegram <CODE> uit. Meer in OpenClaw koppelen aan Telegram.
  5. Controleer het:
    docker compose ps
    docker compose logs --tail=100 openclaw-gateway
    curl -fsS http://127.0.0.1:18789/healthz

Voor een host zonder terminalprompts beschrijft OpenClaw een headless bootstrap: zet de sleutel van de provider, OPENCLAW_GATEWAY_TOKEN en TELEGRAM_BOT_TOKEN in .env en voer dan onboard --non-interactive en channels add --channel telegram --use-env uit via de Gateway-container, vóór docker compose up -d openclaw-gateway.

Persistentie: wat je koppelt en back-upt

In de containerWat erin zitHostkant (standaard van setup)
/home/node/.openclawopenclaw.json, de SQLite-opslag (authenticatie van providers, sessies), geïnstalleerde plugins, geheimen in .env$HOME/.openclaw
/home/node/.openclaw/workspaceDe werkruimte en geheugenbestanden van de agent$HOME/.openclaw/workspace
/home/node/.config/openclawDe sleutel voor oudere versleutelde inloggegevens$HOME/.openclaw-auth-profile-secrets
  • Koppel de map, nooit het losse bestand. OpenClaw slaat openclaw.json op door het te vervangen, dus een bind mount van één bestand kan ervoor zorgen dat de container een oude kopie blijft lezen.
  • Houd de status op een lokale schijf. NFS-, SMB- en CIFS-shares bieden SQLite niet de gedeelde-geheugencoördinatie die het nodig heeft en kunnen het beschadigen.
  • Eén Gateway per statusmap. Stop de oude container voordat je de vervanger start.
  • Behandel back-ups als geheimen. Volgens de documentatie van OpenClaw staan OAuth-tokens als platte tekst in die SQLite-bestanden.
  • Alles wat je in een draaiende container installeert, gaat verloren als die opnieuw wordt aangemaakt. Extra tools horen bij het bouwen in de image.

Houd de poort privé

De docker-compose.yml van de repository publiceert 18789 (en 18790 en 3978) op de host en start de Gateway met --bind lan, zodat de gepubliceerde poort hem bereikt. Op een VPS betekent dat dat de dashboardpoort op het publieke adres staat, tenzij je hem blokkeert. Twee valkuilen:

  • UFW dekt het niet. Gepubliceerde containerpoorten lopen via de eigen forwarding-chains van Docker, niet alleen via de INPUT-regels van de host. De documentatie van OpenClaw geeft regels voor de DOCKER-USER-chain; een cloudfirewall die alleen SSH toelaat werkt ook.
  • Gebruik een tunnel om het dashboard te bereiken: ssh -N -L 18789:127.0.0.1:18789 root@<vps-ip>, en open dan http://127.0.0.1:18789/ op je eigen computer.

Compose zet ook restart: unless-stopped, zodat de Gateway terugkomt na een crash of herstart, en laat de capabilities NET_RAW en NET_ADMIN weg.

Updaten

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

Het entrypoint van de image repareert en migreert de gekoppelde status bij de start. Maak eerst een back-up van ~/.openclaw. Met latest ga je mee met elke stabiele release; zet een tag zoals 2026.11.1 vast om te blijven waar je bent.

Sla Docker over: draai OpenClaw op PlayNHost

Een PlayNHost-server is al een geïsoleerde container met een eigen geheugenlimiet, dus er valt niets te composen. We gebruiken de officiële image niet: de server draait Node.js 26 en installeert het npm-pakket openclaw bij de eerste start, en controleert daarna bij elke start op een nieuwere release.

  • Opzet: plak een sleutel van een AI-provider en een Telegram- of Discord-bottoken op de pagina Agent, en druk dan op Start. In onze test van dezelfde opzet draaide de agent 67 seconden na de eerste Start, installatie inbegrepen.
  • Persistentie: .openclaw staat op de schijf van de server en in zijn back-ups (ongeveer 4 MB in onze test); het programma en zijn caches worden opnieuw geïnstalleerd, niet in de back-up gezet.
  • Poort: de Gateway luistert alleen op het eigen loopback-adres van de server, poort 18789, met een token dat het paneel genereert. Er wordt niets gepubliceerd, dus er is geen firewall die je verkeerd kunt instellen.
  • Geheugen: plannen van 2 GB, 4 GB en 8 GB. De start weigert OpenClaw te draaien onder 2 GB.
  • Nog niet inbegrepen: het webdashboard, andere chat-apps dan Telegram en Discord, en browserautomatisering (geen Chromium).

Maak een OpenClaw-server aan.

PlayNHost is niet verbonden aan de OpenClaw Foundation. OpenClaw is open-sourcesoftware onder de MIT-licentie.

Draait je server al ergens anders? Verhuis hem naar ons

ONZE NIEUWSTE BLOGS