- Change DinD detection from AND to OR: require both env vars or neither (partial config would cause confusing mount failures) - Add comment explaining why root user is required for Docker socket access Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
52 lines
1.6 KiB
YAML
52 lines
1.6 KiB
YAML
services:
|
|
moltbot-gateway:
|
|
image: ${CLAWDBOT_IMAGE:-moltbot:local}
|
|
# Required for Docker socket access when creating sandbox containers (DinD)
|
|
user: root
|
|
environment:
|
|
HOME: /home/node
|
|
TERM: xterm-256color
|
|
CLAWDBOT_GATEWAY_TOKEN: ${CLAWDBOT_GATEWAY_TOKEN}
|
|
CLAUDE_AI_SESSION_KEY: ${CLAUDE_AI_SESSION_KEY}
|
|
CLAUDE_WEB_SESSION_KEY: ${CLAUDE_WEB_SESSION_KEY}
|
|
CLAUDE_WEB_COOKIE: ${CLAUDE_WEB_COOKIE}
|
|
# Docker-in-Docker: host paths for sandbox container volume mounts
|
|
CLAWDBOT_SANDBOX_HOST_CONFIG_DIR: ${CLAWDBOT_CONFIG_DIR}
|
|
CLAWDBOT_SANDBOX_HOST_WORKSPACE_DIR: ${CLAWDBOT_WORKSPACE_DIR}
|
|
volumes:
|
|
- ${CLAWDBOT_CONFIG_DIR}:/home/node/.clawdbot
|
|
- ${CLAWDBOT_WORKSPACE_DIR}:/home/node/clawd
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
ports:
|
|
- "${CLAWDBOT_GATEWAY_PORT:-18789}:18789"
|
|
- "${CLAWDBOT_BRIDGE_PORT:-18790}:18790"
|
|
init: true
|
|
restart: unless-stopped
|
|
command:
|
|
[
|
|
"node",
|
|
"dist/index.js",
|
|
"gateway",
|
|
"--bind",
|
|
"${CLAWDBOT_GATEWAY_BIND:-lan}",
|
|
"--port",
|
|
"${CLAWDBOT_GATEWAY_PORT:-18789}"
|
|
]
|
|
|
|
moltbot-cli:
|
|
image: ${CLAWDBOT_IMAGE:-moltbot:local}
|
|
environment:
|
|
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:
|
|
- ${CLAWDBOT_CONFIG_DIR}:/home/node/.clawdbot
|
|
- ${CLAWDBOT_WORKSPACE_DIR}:/home/node/clawd
|
|
stdin_open: true
|
|
tty: true
|
|
init: true
|
|
entrypoint: ["node", "dist/index.js"]
|