# Production .env for deploy/docker-compose.traefik.yml (CDN Manager + Traefik). # Copy to /opt/cdnmanager/.env and fill secrets. Do not commit. # --- Traefik / Let's Encrypt (Cloudflare DNS-01) --- # Token for ACME only (Zone DNS Edit). Separate from CLOUDFLARE_API_TOKEN below. CF_DNS_API_TOKEN= LETSENCRYPT_EMAIL=admin@shnt.top CDN_DOMAIN=cdn.shnt.top # TRAEFIK_IMAGE_TAG=v3.7 # TRAEFIK_HTTP_PORT=80 # TRAEFIK_HTTPS_PORT=443 # TRAEFIK_LOG_LEVEL=INFO # --- Image --- CDN_IMAGE_TAG=latest # drop-in alias (same manifest): git.shx.one/denozord/cdn-manager # --- CDN Manager (API + SPA) --- CLOUDFLARE_API_TOKEN= LOG_LEVEL=info NODE_ENV=production # Portal SSO (prod default AUTH_REQUIRED=true) AUTH_REQUIRED=true # Same HS256 secret as auth-portal JWT_SECRET (required) AUTH_JWT_SECRET= # Optional alias — app also reads JWT_SECRET JWT_SECRET= AUTH_ISSUER=https://auth.shnt.top AUTH_PORTAL_URL=https://auth.shnt.top # Shared with auth-portal AUDIT_INGEST_SECRET (optional) AUTH_AUDIT_INGEST_SECRET= # Legacy local admin — only when AUTH_REQUIRED=false ADMIN_USERNAME=admin ADMIN_PASSWORD_HASH=