mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-04 02:46:23 +00:00
82 lines
2.9 KiB
Markdown
82 lines
2.9 KiB
Markdown
# 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:<port>`.
|
|
- CLI commands: `docker compose exec openclaw node dist/index.js <subcommand>`
|
|
- 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
|