services: # Dashboard — Flask + React (single container) dashboard: build: context: . dockerfile: Dockerfile.swarm.dashboard container_name: evonexus-dashboard ports: - "8081:8080" - "32352:32352" env_file: .env environment: - TZ=America/Sao_Paulo - EVONEXUS_PORT=8080 - TERMINAL_SERVER_PORT=32352 volumes: - claude-auth:/root/.claude - ./config:/workspace/config - ./workspace:/workspace/workspace - ./dashboard/data:/workspace/dashboard/data - ./.claude/agents:/workspace/.claude/agents:ro - ./.claude/skills:/workspace/.claude/skills:ro - ./.claude/commands:/workspace/.claude/commands:ro - ./.claude/templates:/workspace/.claude/templates:ro - ./memory:/workspace/memory:ro - ./ADWs/logs:/workspace/ADWs/logs restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8080/api/version"] interval: 30s timeout: 10s retries: 3 start_period: 15s # Telegram — bot that listens for messages telegram: build: . container_name: evonexus-telegram entrypoint: ["claude"] command: ["--channels", "plugin:telegram@claude-plugins-official", "--dangerously-skip-permissions"] env_file: .env environment: - TZ=America/Sao_Paulo - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} volumes: - daily-logs:/workspace/workspace/daily-logs - projects:/workspace/workspace/projects - community:/workspace/workspace/community - financial:/workspace/workspace/finance - personal:/workspace/workspace/personal - meetings:/workspace/workspace/meetings - strategy:/workspace/workspace/strategy - memory:/workspace/memory - adw-logs:/workspace/ADWs/logs - agent-memory:/workspace/.claude/agent-memory restart: unless-stopped stdin_open: true tty: true # Runner on-demand — to execute routines manually # Usage: docker compose run --rm runner ADWs/routines/good_morning.py runner: build: . container_name: evonexus-runner env_file: .env environment: - TZ=America/Sao_Paulo - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} volumes: - daily-logs:/workspace/workspace/daily-logs - projects:/workspace/workspace/projects - community:/workspace/workspace/community - financial:/workspace/workspace/finance - personal:/workspace/workspace/personal - meetings:/workspace/workspace/meetings - strategy:/workspace/workspace/strategy - memory:/workspace/memory - adw-logs:/workspace/ADWs/logs - agent-memory:/workspace/.claude/agent-memory profiles: - manual volumes: claude-auth: daily-logs: projects: community: financial: personal: meetings: strategy: memory: adw-logs: agent-memory: