# Self-contained compose project for cup26.briggen.dev. # Deploy: rsync the repo to /root/cup26/, place this file there as # docker-compose.yml, then `docker compose up -d --build`. # Joins the EXISTING external `proxy` network — the shared Traefik stack is untouched. name: cup26 services: cup26: build: . container_name: cup26 restart: unless-stopped environment: - PORT=8787 - STATIC_DIR=/app/dist - NODE_ENV=production - ALLOWED_ORIGINS=https://cup26.briggen.dev - DATA_DIR=/data # football-data.org free API token (https://www.football-data.org/client/register) - FOOTBALL_DATA_TOKEN=${FOOTBALL_DATA_TOKEN:-} # opt-in unofficial sources (usually blocked from a datacenter IP; ESPN is primary) - ENABLE_SOFASCORE=${ENABLE_SOFASCORE:-false} - ENABLE_FOTMOB=${ENABLE_FOTMOB:-false} volumes: - cup26-data:/data security_opt: - no-new-privileges:true mem_limit: 384m memswap_limit: 384m pids_limit: 200 cpus: 1.0 labels: - "traefik.enable=true" - "traefik.http.routers.cup26.rule=Host(`cup26.briggen.dev`)" - "traefik.http.routers.cup26.entrypoints=websecure" - "traefik.http.routers.cup26.tls.certresolver=letsencrypt" - "traefik.http.services.cup26.loadbalancer.server.port=8787" networks: - proxy volumes: cup26-data: networks: proxy: external: true