# OpenClaw ## Overview OpenClaw is an open-source AI coding assistant gateway with multi-model support, agent sandboxing, and extensible plugin system. ## Project Details - **Project Repository:** [github.com/openclaw/openclaw](https://github.com/openclaw/openclaw) - **Container Image:** [ghcr.io/openclaw/openclaw](https://github.com/openclaw/openclaw/pkgs/container/openclaw) - **Documentation:** [docs.openclaw.ai](https://docs.openclaw.ai) - **Reverse Proxy Port:** `18789` ## Getting Started 1. Copy `sample.env` and set `OPENCLAW_GATEWAY_TOKEN` (`openssl rand -hex 32`) 2. Start the container: `docker compose up -d` 3. Open http://localhost:18789 in your browser and sign in with the gateway token ## Environment Variable Notes - `OPENCLAW_GATEWAY_TOKEN` — required shared secret for Control UI access. Generate with `openssl rand -hex 32`. - `OPENCLAW_GATEWAY_BIND` — `lan` (default, reachable from host) or `loopback`. - `OPENCLAW_DISABLE_BONJOUR` — set to `1` (default) for Docker bridge; `0` only on host/macvlan networks. - `OTEL_EXPORTER_OTLP_ENDPOINT` — optional OpenTelemetry collector URL. ## Volume Notes - `/home/node/.openclaw` — config, state, and installed plugins - `/home/node/.openclaw/workspace` — agent workspace files - `/home/node/.config/openclaw` — auth-profile secret encryption keys All three use `${VOL_PATH:-/data}/openclaw/` as the host base path. ## Network Notes Requires proxy network ## Docker Run ```bash docker run -d \ --name=openclaw \ -e TZ=America/Vancouver \ -e OPENCLAW_DISABLE_BONJOUR=1 \ -e OPENCLAW_GATEWAY_TOKEN=change-me-to-a-random-secret \ -p 18789:18789 \ -v /data/openclaw/config:/home/node/.openclaw \ -v /data/openclaw/workspace:/home/node/.openclaw/workspace \ -v /data/openclaw/auth-secrets:/home/node/.config/openclaw \ -v /etc/localtime:/etc/localtime:ro \ --add-host host.docker.internal:host-gateway \ ghcr.io/openclaw/openclaw:latest \ node dist/index.js gateway --bind lan --port 18789 ``` ## Additional Notes / Gotchas - This is a `_dev` stack — experimental, not yet production-ready. - The container runs as `node` (uid 1000). Ensure host bind-mount directories are owned by uid 1000 or set `user: "0:0"`. - Host-side AI providers (Ollama, LM Studio) are reachable at `http://host.docker.internal:`. - CLI commands: `docker compose exec openclaw node dist/index.js ` - No `healthcheck` block in the compose file — healthchecks are a future feature across this repo (see AGENTS.md). The image's built-in `HEALTHCHECK` still applies. ## Dockhand Stack, Deploy from Git - Cookbooks Repository - stackname: openclaw_dev - Compose file path: openclaw_dev/compose.yaml - Additional env file (optional): openclaw_dev/sample.env Then "Load" openclaw_dev/sample.env into the Environment variables in dockhand. Create the Stack