Loading blog posts...
Loading blog posts...
Laden...

De meeste handleidingen maken dit veel te ingewikkeld. Ik heb dit inmiddels een paar keer opgezet, en hier is de Raspberry Pi-aanpak die overzichtelijk blijft: draai OpenClaw (Clawbot) in Docker met persistente opslag, minimale blootstelling standaard, en updates die u kunt herhalen zonder verrassingen. Als u een 24/7 agent wilt zonder uw hoofdcomputer te verstoren, is dit meestal de schoonste route.
yaml## docker-compose.yml services: openclaw: image: ghcr.io/[UPSTREAM_OR_COMMUNITY]/openclaw:latest container_name: openclaw restart: unless-stopped ports: - "127.0.0.1:18789:18789" environment: - TZ=UTC - OPENCLAW_PORT=18789 - OPENCLAW_DATA_DIR=/data volumes: - openclaw-data:/data - /etc/localtime:/etc/localtime:ro logging: driver: "json-file" options: max-size: "10m" max-file: "5" volumes: openclaw-data:
Dit Compose-bestand regelt stilletjes drie "echte leven" zaken die de meeste tutorials overslaan:
127.0.0.1 zodat deze standaard niet wordt blootgesteld aan uw LAN of internet, wat precies is wat u in eerste instantie wilt.openclaw-data zodat onboarding-status, vaardigheden-configuratie en tokens restarts overleven.Important
[!IMPORTANT]
De image-naam verschilt tussen OpenClaw-forks en community builds. Als u al een repo hebt gekloond die een docker-compose.yml of docker-setup.sh bevat, zou ik eerst dat upstream-pad volgen. Zie Simon Willison's Docker-walkthrough voor de canonieke flow: https://til.simonwillison.net/llms/openclaw-docker
Voer het uit:
bashdocker compose up -d docker compose logs -f openclaw
Als de container start en draaiende blijft, bent u klaar voor onboarding en kanaal-pairing.
bash## Raspberry Pi OS (Debian) snelle voorbereiding sudo apt-get update sudo apt-get install -y ca-certificates curl git # Docker Engine installatie (officieel script) curl -fsSL https://get.docker.com | sudo sh # Sta uw gebruiker toe docker te draaien zonder sudo sudo usermod -aG docker $USER newgrp docker # Docker Compose v2 is inbegrepen bij moderne Docker-pakketten docker version docker compose version
Minimum hardware die pijn vermijdt (dit is de deal: u kunt lager gaan, maar u zult het voelen):
4GB RAM minimum voor agent + vaardigheden. 8GB is merkbaar soepeler zodra u meer dan één ding tegelijk draait.Waarom het uitmaakt: OpenClaw-stijl agents hebben de neiging om status te schrijven, prompts te cachen en tool-aanroepen te loggen. SD-kaarten kunnen en gaan vroeg kapot onder aanhoudende schrijfbewerkingen.
Tip
[!TIP]
Als u microSD moet gebruiken, sla log-rotatie (hierboven getoond) niet over en houd max-size klein. Probeer ook te voorkomen dat lawaaierige vaardigheden (web scraping, bestandsverwerking) logs spammen.
bashgit clone [REPO_URL] cd [REPO_DIR] # Veelvoorkomend patroon in handleidingen: een hulpscript chmod +x docker-setup.sh ./docker-setup.sh
Veel OpenClaw-handleidingen en forks leveren een setup-script dat images pullt/bouwt, .env schrijft en Compose start. Naar mijn ervaring komt dit ook overeen met upstream-aannames (zoals welke Node.js-versie ze verwachten in de container), wat u bespaart van host-level Node.js 22+ wrijving.
Als het script om poorten vraagt, zou ik de gateway op 18789 houden tenzij u daar al iets hebt. Voor een langere end-to-end Docker onboarding flow (API-sleutels + vaardigheden menu), zie de YouTube setup walkthrough: https://www.youtube.com/watch?v=-aeR1cQktdM
bashgit clone [REPO_URL] cd [REPO_DIR] # Typische Docker build flow docker build -t openclaw:pi . # Draai met een persistente data directory docker run -d \ --name openclaw \ --restart unless-stopped \ -p 127.0.0.1:18789:18789 \ -e OPENCLAW_DATA_DIR=/data \ -v openclaw-data:/data \ openclaw:pi
Lokale builds helpen wanneer:
amd64 is en u arm64 nodig hebt.Afweging: builds zijn langzamer op een Pi. Als u dit herhaaldelijk doet, bouw dan op een snellere machine met buildx en push een arm64 image naar uw eigen registry.
bash# Open een shell in de draaiende container docker exec -it openclaw sh
Veelvoorkomende onboarding-stappen gebeuren binnen de container:
/data).Als uw fork een CLI-entrypoint biedt, is het meestal zoiets als:
bash## Voorbeeldpatroon: start wizard of open dashboard openclaw wizard openclaw gateway --port 18789
Als u die commando's niet ziet, controleer de container's help (nou ja, eigenlijk: controleer meerdere namen, omdat forks graag binaries hernoemen):
bashopenclaw --help || clawbot --help || ls -la
Het kernprincipe: onboarding moet zijn status schrijven naar het gemounte volume (/data). Als u onboardt zonder een persistent volume, doet u de hele setup opnieuw na elke rebuild.
bash## Voorbeeld approve commando-patroon gevonden in Docker walkthroughs docker compose run --rm openclaw-cli pairing approve telegram [CODE]
Telegram is populair omdat het lage latentie heeft en goed past bij de "agent draait op de achtergrond" vibe. De pairing approval-stap is er om een reden: het voorkomt dat willekeurige accounts uw agent controleren als ze op uw bot stuiten.
Operationele regels die risico verminderen (dit zijn de saaie die u later redden):
127.0.0.1.Simon Willison's notities bevatten de pairing en dashboard toegang flow: https://til.simonwillison.net/llms/openclaw-docker
Warning
[!WARNING] Docker-isolatie helpt, maar het is geen beveiligingsgrens. Behandel OpenClaw als code die tools kan uitvoeren. Houd het van het publieke internet tenzij u sterke authenticatie en strakke netwerkcontroles toevoegt.
yaml# docker-compose.yml snippet ports: - "192.168.1.50:18789:18789"
Dit bindt de gateway aan een enkel LAN-IP. Het helpt om onbedoelde blootstelling op andere interfaces te voorkomen, maar iedereen op het LAN kan het nog steeds raken tenzij de app authenticatie heeft.
bash## Installeer Tailscale op de Pi (officiële docs aanbevolen) curl -fsSL https://tailscale.com/install.sh | sh sudo tailscale up
Houd dan Compose op 127.0.0.1 en benader het via Tailscale. Naar wat ik heb gezien, is dit de eenvoudigste "remote maar privé" aanpak omdat u geen router-poorten hoeft te openen.
nginx# /etc/nginx/sites-available/openclaw.conf server { listen 443 ssl; server_name [YOUR_DOMAIN]; location / { auth_basic "Restricted"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://127.0.0.1:18789; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $remote_addr; } }
Als u OpenClaw via Nginx blootstelt, voeg TLS en auth toe. Overweeg ook IP-allowlists - het is extra werk, maar het loont.
bash## Zie waar Docker uw benoemde volume heeft opgeslagen docker volume inspect openclaw-data # Backup het hele volume naar een tarball docker run --rm \ -v openclaw-data:/data \ -v "$PWD":/backup \ alpine sh -c "cd /data && tar -czf /backup/openclaw-data.tgz ."
Volume-backups zijn het verschil tussen "rebuild in 2 minuten" en "re-onboard voor een uur". Ze maken upgrades ook veel minder stressvol omdat u snel kunt terugdraaien.
Een praktisch rollback-patroon:
bash# Stop de service docker compose down # Herstel volume van backup docker run --rm \ -v openclaw-data:/data \ -v "$PWD":/backup \ alpine sh -c "rm -rf /data/* && tar -xzf /backup/openclaw-data.tgz -C /data" # Start opnieuw docker compose up -d
bash## Controleer geheugendruk en swap-gebruik free -h vmstat 1 # Controleer container CPU en geheugen live docker stats
Drie wijzigingen die het meest uitmaken voor Pi-stabiliteit (als u maar een paar dingen doet, doe deze):
/var/lib/docker en volumes. Docker schrijft veel.Als uw Pi begint te swappen tijdens agent-runs, stijgt de latentie. U zult het merken als langzame vaardigheidsuitvoering en timeouts in web-calls.
Note
[!NOTE] Als u van plan bent lokale modellen op de Pi te draaien, verwacht dan afwegingen. Pi 5 kan kleine modellen draaien, maar de meeste teams houden zich aan cloud LLM API's en gebruiken de Pi voor orkestratie.
bash# Voorbeeldpatroon: lijst vaardigheden en schakel er een in openclaw skills list openclaw skills enable [SKILL_NAME] # Voer een enkele vaardigheidstest uit (dry run indien ondersteund) openclaw skills run [SKILL_NAME] --dry-run
Vaardigheden zijn waar OpenClaw nuttig en riskant wordt. Een vaardigheid die bestanden kan schrijven, webhooks kan aanroepen of toegang heeft tot een home automation bridge heeft grenzen nodig - anders geeft u het in feite de sleutels van uw huis.
Drie beperkingen die goed werken in Docker:
Voorbeeld: mount alleen een workspace folder:
yaml## docker-compose.yml snippet volumes: - openclaw-data:/data - /home/pi/openclaw-workspace:/workspace environment: - OPENCLAW_WORKSPACE=/workspace
Voor een samengestelde lijst van community vaardigheden, gebruik de GitHub collectie: https://github.com/VoltAgent/awesome-openclaw-skills
Interne notitie: als u nog steeds besluit of een agent het waard is om 24/7 te draaien, zie Clawdbot AI Agent: What It Is & Why It Matters.
bashdocker compose ps docker compose logs --tail=200 openclaw
Fixes die meestal van toepassing zijn:
amd64 op arm64).Als het een architectuur mismatch is, bevestig:
bashuname -m docker image inspect [IMAGE] --format '{{.Architecture}}'
bash# Controleer aan welk adres het is gebonden ss -lntp | grep 18789
Als het gebonden is aan 127.0.0.1, accepteert het geen LAN-verkeer. Dat is opzettelijk voor veiligheid. Als u LAN-toegang nodig hebt, bind dan aan een LAN-IP zoals eerder getoond.
bashdocker compose down docker volume ls | grep openclaw
Dit gebeurt meestal wanneer:
Standaard fix: gebruik benoemde volumes en houd de Compose projectnaam stabiel. En ja, houd een backup tarball van het volume.
bash# Zoek naar channel handler errors docker compose logs --tail=300 openclaw | grep -i telegram
Veelvoorkomende oorzaken:
pairing approve telegram [CODE] niet uitgevoerd).Als u een veiligheid-eerst Pi baseline nodig hebt voordat u Telegram en vaardigheden doet, zie OpenClaw (Clawdbot) on Raspberry Pi: Safe Setup Guide.
bash## Pull laatste image en herstart docker compose pull docker compose up -d # Bevestig versie en gezondheid docker compose logs --tail=100 openclaw docker exec -it openclaw sh -c "openclaw --version || clawbot --version"
Een veiliger patroon dan "latest" (en eerlijk gezegd, dit is wat ik zou doen als uptime belangrijk is):
openclaw-stable vastgepind aan een bekende tag.openclaw-canary op de nieuwste tag voor een dag.Voorbeeld canary service:
yamlservices: openclaw-stable: image: ghcr.io/[UPSTREAM_OR_COMMUNITY]/openclaw:[PINNED_TAG] ports: - "127.0.0.1:18789:18789" volumes: - openclaw-stable-data:/data openclaw-canary: image: ghcr.io/[UPSTREAM_OR_COMMUNITY]/openclaw:latest ports: - "127.0.0.1:28789:18789" volumes: - openclaw-canary-data:/data volumes: openclaw-stable-data: openclaw-canary-data:
Dit isoleert ook status. Als canary configuratie corrumpeert, blijft stable schoon.
| Aanpak | Voordelen | Nadelen | Het beste voor |
|---|---|---|---|
| Docker Compose | Herhaalbaar, geïsoleerde deps, makkelijke rollback, persistente volumes | Lichte overhead, langzamere inner dev loop | 24/7 Pi implementaties |
| Native installatie | Snelle dev iteratie, directe toegang tot host | Host dependency sprawl, moeilijkere cleanup, Node/toolchain drift | Contributors en snelle hacking |
| VPS + Docker | Hoogste uptime, betere CPU/RAM, publieke toegang makkelijker | Maandelijkse kosten, remote data en sleutels | Always-on business workflows |
Docker is meestal de middenweg: stabiel genoeg voor langlopende agent-taken, maar nog steeds makkelijk te rebuilden.
Netflix behaalde een 50% reductie in opslagkosten door over te stappen naar AV1 voor video-encoding, wat toont hoe automatisering plus zorgvuldig systeemontwerp operationele uitgaven op schaal kan verlagen. Spotify reduceerde CI build tijd met 40% door build en caching workflows te verbeteren, een concreet voorbeeld van hoe herhaalbare pipelines ad-hoc setups verslaan. Stripe reduceerde p99 API latentie met 40% in delen van zijn stack door prestatiewerk, een herinnering om tail latency te meten wanneer een Pi onder geheugendruk staat.
Deze zijn niet OpenClaw-specifiek, maar het principe draagt over: stabiele automatisering komt van reproduceerbaarheid, meting en gecontroleerde verandering.
Begin hier (uw eerste stap)
Creëer docker-compose.yml met 127.0.0.1:18789:18789 en een benoemd volume, voer dan uit:
bashdocker compose up -d docker compose logs -f openclaw
Snelle winsten (onmiddellijke impact)
max-size=10m, max-file=5) en bevestig dat logs stoppen met groeien zonder grens.openclaw-data.tgz en bewaar het buiten de Pi.Diepgaand (voor degenen die meer willen)
28789 en draai het 24 uur voordat u stable upgrade.127.0.0.1.127.0.0.1, gebruik persistente volumes en roteer logs. Die drie keuzes voorkomen de meeste "Pi werd raar" storingen.