# Docker Compose for Agent Evolution Dashboard (mount-driven, no-rebuild) # Usage: # docker compose -f agent-evolution/docker-compose.yml up -d # # Edit any file in agent-evolution/ or .kilo/ on host → instant reflection # # Just run: # bun run sync:evolution # # and reload the page # version: '3.8' services: evolution-dashboard: build: context: . dockerfile: Dockerfile container_name: apaw-evolution ports: - "3003:80" volumes: # Mount the generated standalone HTML to the container's web root - ./index.standalone.html:/app/index.html:ro # Mount data directory for any additional assets - ./data:/app/data:ro # Mount .kilo directory for live config access - ../.kilo:/app/kilo:ro environment: - NODE_ENV=production - TZ=UTC restart: unless-stopped healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:80/"] interval: 30s timeout: 10s retries: 3 start_period: 10s networks: - evolution-network labels: - "com.apaw.service=evolution-dashboard" - "com.apaw.description=Agent Evolution Dashboard" # Optional: Nginx reverse proxy with SSL evolution-nginx: image: nginx:alpine container_name: apaw-evolution-nginx profiles: - nginx ports: - "80:80" - "443:443" volumes: - ./agent-evolution/nginx.conf:/etc/nginx/nginx.conf:ro - ./agent-evolution/ssl:/etc/nginx/ssl:ro depends_on: - evolution-dashboard networks: - evolution-network networks: evolution-network: driver: bridge