92fdfdf398
HOST_DATA_DIR in .env can now point /data at a host path (the 1TB external drive) instead of the named volume, so odds history, caches and snapshots stop eating the 128GB root disk. A daily prune drops cache entries stale for over a week and ingest-log rows older than 14 days — faster polling no longer means unbounded DB growth. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
50 lines
1.7 KiB
YAML
50 lines
1.7 KiB
YAML
# 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:
|
|
# HOST_DATA_DIR (in .env) may point at a host path — e.g. the external
|
|
# 1TB drive — so the growing SQLite DB stays off the small root disk.
|
|
# An absolute path = bind mount; unset = the original named volume.
|
|
# The container runs as node (uid 1000): chown 1000:1000 the host dir.
|
|
- ${HOST_DATA_DIR:-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
|