Files
compose-anything/apps/moltbot/docker-compose.yaml

89 lines
2.6 KiB
YAML

# MoltBot - Personal AI Assistant Docker Compose Configuration
# Official Repository: https://github.com/moltbot/moltbot
# Documentation: https://docs.molt.bot
x-defaults: &defaults
restart: unless-stopped
logging:
driver: json-file
options:
max-size: 100m
max-file: "3"
services:
moltbot-gateway:
<<: *defaults
image: ${GLOBAL_REGISTRY:-ghcr.io}/moltbot/moltbot:${MOLTBOT_VERSION:-main}
environment:
- TZ=${TZ:-UTC}
- HOME=/home/node
- NODE_ENV=production
- TERM=xterm-256color
# Gateway configuration
- CLAWDBOT_GATEWAY_TOKEN=${MOLTBOT_GATEWAY_TOKEN}
- CLAWDBOT_GATEWAY_BIND=${MOLTBOT_GATEWAY_BIND:-lan}
- CLAWDBOT_GATEWAY_PORT=${MOLTBOT_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:
- moltbot_config:/home/node/.clawdbot
- moltbot_workspace:/home/node/clawd
ports:
- "${MOLTBOT_GATEWAY_PORT_OVERRIDE:-18789}:18789"
- "${MOLTBOT_BRIDGE_PORT_OVERRIDE:-18790}:18790"
command:
- node
- dist/index.js
- gateway
- --bind
- "${MOLTBOT_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: ${MOLTBOT_CPU_LIMIT:-2.0}
memory: ${MOLTBOT_MEMORY_LIMIT:-2G}
reservations:
cpus: ${MOLTBOT_CPU_RESERVATION:-1.0}
memory: ${MOLTBOT_MEMORY_RESERVATION:-1G}
moltbot-cli:
<<: *defaults
image: ${GLOBAL_REGISTRY:-ghcr.io}/moltbot/moltbot:${MOLTBOT_VERSION:-main}
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: ${MOLTBOT_CLI_CPU_LIMIT:-1.0}
memory: ${MOLTBOT_CLI_MEMORY_LIMIT:-512M}
volumes:
moltbot_config:
moltbot_workspace: