forked from coollabsio/openclaw
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
51 lines (49 loc) · 1.71 KB
/
docker-compose.yml
File metadata and controls
51 lines (49 loc) · 1.71 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
services:
openclaw:
image: coollabsio/openclaw:latest
ports:
- "${PORT:-8080}:${PORT:-8080}"
environment:
# Provider (at least one required)
#- ANTHROPIC_API_KEY=sk-ant-...
- OPENCODE_API_KEY=${OPENCODE_API_KEY}
- OPENCLAW_PRIMARY_MODEL=kconsole/koompiclaw
# Auth
- AUTH_USERNAME=${AUTH_USERNAME:-admin}
- AUTH_PASSWORD=${AUTH_PASSWORD}
- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
# Browser sidecar
- BROWSER_CDP_URL=http://browser:9223
- BROWSER_DEFAULT_PROFILE=openclaw
- BROWSER_EVALUATE_ENABLED=true
# CORS / Allowed Origins (optional)
# - OPENCLAW_ALLOWED_ORIGINS=http://localhost:5173,https://app.example.com
# Dot-notation config (optional - for settings not covered by dedicated env vars)
# - OPENCLAW__channels__telegram__textChunkLimit=3500
# JSON config via env var (optional - partial or full config as JSON)
# - OPENCLAW_CONFIG_JSON={"agents":{"defaults":{"model":{"fallback":"gemini/gemini-3-pro"}}}}
# Hooks (optional)
# - HOOKS_ENABLED=true
# - HOOKS_TOKEN=my-hook-secret
volumes:
- openclaw-data:/data
# Optional: custom JSON config for complex settings (groups, plugins, etc.)
# - ./my-openclaw.json:/app/config/openclaw.json
depends_on:
- browser
restart: unless-stopped
browser:
image: coollabsio/openclaw-browser:latest
# No port exposure needed — proxied via openclaw at /browser/
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- CHROME_CLI=--remote-debugging-port=9222
volumes:
- browser-data:/config
shm_size: 2g
restart: unless-stopped
volumes:
openclaw-data:
browser-data: