Files
goclaw/docker-compose.yml
T

68 lines
2.3 KiB
YAML

# Base docker-compose — shared service definition.
# Combine with an overlay for your deployment mode:
#
# Recommended (Managed + Web Dashboard):
# docker compose -f docker-compose.yml -f docker-compose.managed.yml -f docker-compose.selfservice.yml up -d --build
#
# Standalone: docker compose -f docker-compose.yml -f docker-compose.standalone.yml up -d --build
# Managed only: docker compose -f docker-compose.yml -f docker-compose.managed.yml up -d --build
# Managed+OTel: docker compose -f docker-compose.yml -f docker-compose.managed.yml -f docker-compose.otel.yml up -d --build
services:
goclaw:
build:
context: .
dockerfile: Dockerfile
args:
ENABLE_OTEL: "false"
ports:
- "${GOCLAW_PORT:-18790}:18790"
env_file:
- path: .env
required: false
environment:
# Core
- GOCLAW_HOST=0.0.0.0
- GOCLAW_PORT=18790
- GOCLAW_CONFIG=/app/data/config.json
- GOCLAW_GATEWAY_TOKEN=${GOCLAW_GATEWAY_TOKEN:-}
- GOCLAW_ENCRYPTION_KEY=${GOCLAW_ENCRYPTION_KEY:-}
- GOCLAW_OWNER_IDS=${GOCLAW_OWNER_IDS:-}
# Provider (at least one required)
- GOCLAW_PROVIDER=${GOCLAW_PROVIDER:-}
- GOCLAW_MODEL=${GOCLAW_MODEL:-}
- GOCLAW_OPENROUTER_API_KEY=${GOCLAW_OPENROUTER_API_KEY:-}
- GOCLAW_ANTHROPIC_API_KEY=${GOCLAW_ANTHROPIC_API_KEY:-}
- GOCLAW_OPENAI_API_KEY=${GOCLAW_OPENAI_API_KEY:-}
- GOCLAW_MINIMAX_API_KEY=${GOCLAW_MINIMAX_API_KEY:-}
- GOCLAW_GROQ_API_KEY=${GOCLAW_GROQ_API_KEY:-}
- GOCLAW_DEEPSEEK_API_KEY=${GOCLAW_DEEPSEEK_API_KEY:-}
- GOCLAW_GEMINI_API_KEY=${GOCLAW_GEMINI_API_KEY:-}
- GOCLAW_MISTRAL_API_KEY=${GOCLAW_MISTRAL_API_KEY:-}
- GOCLAW_XAI_API_KEY=${GOCLAW_XAI_API_KEY:-}
# Channels
- GOCLAW_TELEGRAM_TOKEN=${GOCLAW_TELEGRAM_TOKEN:-}
# Debug
- GOCLAW_TRACE_VERBOSE=${GOCLAW_TRACE_VERBOSE:-0}
volumes:
- goclaw-data:/app/data
- goclaw-workspace:/app/workspace # standalone mode workspace
security_opt:
- no-new-privileges:true
cap_drop:
- ALL
read_only: true
tmpfs:
- /tmp:rw,noexec,nosuid,size=256m
deploy:
resources:
limits:
memory: 1G
cpus: '2.0'
pids: 200
restart: unless-stopped
volumes:
goclaw-data:
goclaw-workspace: