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=opencode/kimi-k2.5 # Auth - AUTH_USERNAME=whatever - AUTH_PASSWORD=changeme - OPENCLAW_GATEWAY_TOKEN=my-secret-token # Browser sidecar - BROWSER_CDP_URL=http://browser:9223 - BROWSER_DEFAULT_PROFILE=openclaw - BROWSER_EVALUATE_ENABLED=true # 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: