Voer de OpenClaw Gateway uit in een rootless Podman-container, beheerd door je huidige niet-rootgebruiker. Het beoogde model is:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- Podman voert de gatewaycontainer uit.
- Je host-
openclawCLI is het besturingsvlak. - Persistente status staat standaard op de host onder
~/.openclaw. - Dagelijks beheer gebruikt
openclaw --container <name> ...in plaats vansudo -u openclaw,podman execof een afzonderlijke servicegebruiker.
Vereisten
- Podman in rootless modus
- OpenClaw CLI geïnstalleerd op de host
- Optioneel:
systemd --userals je door Quadlet beheerd automatisch starten wilt - Optioneel:
sudoalleen als jeloginctl enable-linger "$(whoami)"wilt voor persistentie na het opstarten op een headless host
Snel starten
Voer onboarding uit binnen de container
Voer
./scripts/run-openclaw-podman.sh launch setup uit en open daarna http://127.0.0.1:18789/../scripts/podman/setup.shbouwt standaardopenclaw:localin je rootless Podman-store, of gebruiktOPENCLAW_IMAGE/OPENCLAW_PODMAN_IMAGEals je er een instelt.- Het maakt
~/.openclaw/openclaw.jsonmetgateway.mode: "local"als dat ontbreekt. - Het maakt
~/.openclaw/.envmetOPENCLAW_GATEWAY_TOKENals dat ontbreekt. - Voor handmatige starts leest de helper alleen een kleine allowlist van Podman-gerelateerde sleutels uit
~/.openclaw/.enven geeft expliciete runtime-env-vars door aan de container; het geeft niet het volledige env-bestand aan Podman.
OPENCLAW_PODMAN_QUADLET=1 instellen.
Optionele build-/setup-env-vars:
OPENCLAW_IMAGEofOPENCLAW_PODMAN_IMAGE— gebruik een bestaande/opgehaalde image in plaats vanopenclaw:localte bouwenOPENCLAW_DOCKER_APT_PACKAGES— installeer extra apt-pakketten tijdens het bouwen van de imageOPENCLAW_EXTENSIONS— installeer Plugin-afhankelijkheden vooraf tijdens buildtijdOPENCLAW_INSTALL_BROWSER— installeer Chromium en Xvfb vooraf voor browserautomatisering (stel in op1om in te schakelen)
--userns=keep-id en bind-mount je OpenClaw-status in de container.
Onboarding:
http://127.0.0.1:18789/ en gebruik het token uit ~/.openclaw/.env.
Standaard host-CLI:
Podman + Tailscale
Voor HTTPS of externe browsertoegang volg je de hoofd-documentatie voor Tailscale. Podman-specifieke opmerking:- Houd de Podman-publicatiehost op
127.0.0.1. - Geef de voorkeur aan door de host beheerde
tailscale servebovenopenclaw gateway --tailscale serve. - Gebruik op macOS Tailscale-toegang in plaats van ad-hoc workarounds met lokale tunnels als de lokale browsercontext voor device-auth onbetrouwbaar is.
Systemd (Quadlet, optioneel)
Als je./scripts/podman/setup.sh --quadlet hebt uitgevoerd, installeert de setup een Quadlet-bestand op:
- Starten:
systemctl --user start openclaw.service - Stoppen:
systemctl --user stop openclaw.service - Status:
systemctl --user status openclaw.service - Logs:
journalctl --user -u openclaw.service -f
Configuratie, env en opslag
- Configuratiemap:
~/.openclaw - Werkruimtemap:
~/.openclaw/workspace - Tokenbestand:
~/.openclaw/.env - Launch-helper:
./scripts/run-openclaw-podman.sh
OPENCLAW_CONFIG_DIR->/home/node/.openclawOPENCLAW_WORKSPACE_DIR->/home/node/.openclaw/workspace
openclaw.json, per-agent auth-profiles.json, kanaal-/providerstatus,
sessies en werkruimte behouden blijven wanneer de container wordt vervangen.
De Podman-setup vult ook gateway.controlUi.allowedOrigins voor 127.0.0.1 en localhost op de gepubliceerde gatewaypoort, zodat het lokale dashboard werkt met de niet-loopback-bind van de container.
Nuttige env-vars voor de handmatige launcher:
OPENCLAW_PODMAN_CONTAINER— containernaam (standaardopenclaw)OPENCLAW_PODMAN_IMAGE/OPENCLAW_IMAGE— uit te voeren imageOPENCLAW_PODMAN_GATEWAY_HOST_PORT— hostpoort toegewezen aan container18789OPENCLAW_PODMAN_BRIDGE_HOST_PORT— hostpoort toegewezen aan container18790OPENCLAW_PODMAN_PUBLISH_HOST— hostinterface voor gepubliceerde poorten; standaard is127.0.0.1OPENCLAW_GATEWAY_BIND— gateway-bindmodus binnen de container; standaard islanOPENCLAW_PODMAN_USERNS—keep-id(standaard),autoofhost
~/.openclaw/.env voordat container-/image-standaarden definitief worden gemaakt, zodat je deze daar kunt bewaren.
Als je een niet-standaard OPENCLAW_CONFIG_DIR of OPENCLAW_WORKSPACE_DIR gebruikt, stel dan dezelfde variabelen in voor zowel ./scripts/podman/setup.sh als latere ./scripts/run-openclaw-podman.sh launch-commando’s. De repo-lokale launcher bewaart aangepaste pad-overschrijvingen niet tussen shells.
Quadlet-opmerking:
- De gegenereerde Quadlet-service houdt bewust een vaste, geharde standaardvorm aan: gepubliceerde poorten op
127.0.0.1,--bind lanbinnen de container enkeep-id-gebruikersnamespace. - Het pint
OPENCLAW_NO_RESPAWN=1,Restart=on-failureenTimeoutStartSec=300. - Het publiceert zowel
127.0.0.1:18789:18789(gateway) als127.0.0.1:18790:18790(bridge). - Het leest
~/.openclaw/.envals runtime-EnvironmentFilevoor waarden zoalsOPENCLAW_GATEWAY_TOKEN, maar gebruikt de Podman-specifieke override-allowlist van de handmatige launcher niet. - Als je aangepaste publicatiepoorten, publicatiehost of andere container-run-flags nodig hebt, gebruik dan de handmatige launcher of bewerk
~/.config/containers/systemd/openclaw.containerrechtstreeks, laad opnieuw en herstart daarna de service.
Nuttige commando’s
- Containerlogs:
podman logs -f openclaw - Container stoppen:
podman stop openclaw - Container verwijderen:
podman rm -f openclaw - Dashboard-URL openen vanuit host-CLI:
openclaw dashboard --no-open - Health/status via host-CLI:
openclaw gateway status --deep(RPC-probe + extra servicescan)
Probleemoplossing
- Toegang geweigerd (EACCES) op configuratie of werkruimte: De container draait standaard met
--userns=keep-iden--user <your uid>:<your gid>. Zorg dat de hostpaden voor configuratie/werkruimte eigendom zijn van je huidige gebruiker. - Gateway-start geblokkeerd (ontbrekende
gateway.mode=local): Zorg dat~/.openclaw/openclaw.jsonbestaat engateway.mode="local"instelt.scripts/podman/setup.shmaakt dit aan als het ontbreekt. - Container-CLI-commando’s raken het verkeerde doel: Gebruik expliciet
openclaw --container <name> ..., of exporteerOPENCLAW_CONTAINER=<name>in je shell. openclaw updatemislukt met--container: Verwacht. Bouw de image opnieuw of haal deze op, en herstart daarna de container of de Quadlet-service.- Quadlet-service start niet: Voer
systemctl --user daemon-reloaduit, daarnasystemctl --user start openclaw.service. Op headless systemen heb je mogelijk ooksudo loginctl enable-linger "$(whoami)"nodig. - SELinux blokkeert bind mounts: Laat het standaard mountgedrag ongemoeid; de launcher voegt automatisch
:Ztoe op Linux wanneer SELinux enforcing of permissive is.