Files
compose-anything/apps/openclaw/docker-compose.yaml
2026-02-23 17:41:05 +08:00

89 lines
2.6 KiB
YAML

# OpenClaw - Personal AI Assistant Docker Compose Configuration
# Official Repository: https://github.com/openclaw/openclaw
# Documentation: https://docs.openclaw.bot
x-defaults: &defaults
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 100m
max-file: '3'
services:
openclaw-gateway:
<<: *defaults
image: ${GLOBAL_REGISTRY:-ghcr.io}/openclaw/openclaw:${OPENCLAW_VERSION:-2026.2.3}
environment:
- TZ=${TZ:-UTC}
- HOME=/home/node
- NODE_ENV=production
- TERM=xterm-256color
# Gateway configuration
- OPENCLAW_GATEWAY_TOKEN=${OPENCLAW_GATEWAY_TOKEN}
- OPENCLAW_GATEWAY_BIND=${OPENCLAW_GATEWAY_BIND:-lan}
- OPENCLAW_GATEWAY_PORT=${OPENCLAW_GATEWAY_PORT:-18789}
# Optional: Model API keys (if not using OAuth)
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY:-}
- OPENAI_API_KEY=${OPENAI_API_KEY:-}
- CLAUDE_AI_SESSION_KEY=${CLAUDE_AI_SESSION_KEY:-}
- CLAUDE_WEB_SESSION_KEY=${CLAUDE_WEB_SESSION_KEY:-}
- CLAUDE_WEB_COOKIE=${CLAUDE_WEB_COOKIE:-}
volumes:
- openclaw_config:/home/node/.openclaw
- openclaw_workspace:/home/node/openclaw-workspace
ports:
- '${OPENCLAW_GATEWAY_PORT_OVERRIDE:-18789}:18789'
- '${OPENCLAW_BRIDGE_PORT_OVERRIDE:-18790}:18790'
command:
- node
- dist/index.js
- gateway
- --bind
- '${OPENCLAW_GATEWAY_BIND:-lan}'
- --port
- '18789'
healthcheck:
test: [CMD, node, dist/index.js, health, --port, '18789']
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
deploy:
resources:
limits:
cpus: ${OPENCLAW_CPU_LIMIT:-2.0}
memory: ${OPENCLAW_MEMORY_LIMIT:-2G}
reservations:
cpus: ${OPENCLAW_CPU_RESERVATION:-1.0}
memory: ${OPENCLAW_MEMORY_RESERVATION:-1G}
openclaw-cli:
<<: *defaults
image: ${GLOBAL_REGISTRY:-ghcr.io}/openclaw/openclaw:${OPENCLAW_VERSION:-2026.2.3}
environment:
- TZ=${TZ:-UTC}
- HOME=/home/node
- TERM=xterm-256color
- BROWSER=echo
- CLAUDE_AI_SESSION_KEY=${CLAUDE_AI_SESSION_KEY:-}
- CLAUDE_WEB_SESSION_KEY=${CLAUDE_WEB_SESSION_KEY:-}
- CLAUDE_WEB_COOKIE=${CLAUDE_WEB_COOKIE:-}
volumes:
- moltbot_config:/home/node/.clawdbot
- moltbot_workspace:/home/node/clawd
stdin_open: true
tty: true
entrypoint: [node, dist/index.js]
profiles:
- cli
deploy:
resources:
limits:
cpus: ${OPENCLAW_CLI_CPU_LIMIT:-1.0}
memory: ${OPENCLAW_CLI_MEMORY_LIMIT:-512M}
volumes:
openclaw_config:
openclaw_workspace: