# 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 # football-data.org free API token (https://www.football-data.org/client/register) - FOOTBALL_DATA_TOKEN=${FOOTBALL_DATA_TOKEN:-} # opt-in: layer the unofficial real-time source on top of the free API - ENABLE_SOFASCORE=${ENABLE_SOFASCORE:-false} 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 networks: proxy: external: true