# Backlog Aggregator - Multi-Project Real-time Task View
# Deploy at backlog.jeffemmett.com to see all project tasks in real-time

services:
  backlog-aggregator:
    build:
      context: .
      dockerfile: Dockerfile.aggregator
    container_name: backlog-aggregator
    restart: unless-stopped
    volumes:
      # Mount all project directories that contain backlog folders
      # The aggregator scans these paths for backlog/ subdirectories
      # NOTE: Using rw (read-write) to allow task creation/updates from web UI
      - /opt/websites:/projects/websites:rw
      - /opt/apps:/projects/apps:rw
      # If you have repos in other locations, add them here:
      # - /home/user/projects:/projects/home:rw
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.backlog.rule=Host(`backlog.jeffemmett.com`)"
      - "traefik.http.routers.backlog.entrypoints=web"
      - "traefik.http.services.backlog.loadbalancer.server.port=6420"
      - "traefik.docker.network=traefik-public"
    networks:
      - traefik-public
    environment:
      - PORT=6420
      - NODE_ENV=production
    command: ["bun", "src/aggregator/index.ts", "--port", "6420", "--paths", "/projects/websites,/projects/apps"]

networks:
  traefik-public:
    external: true
