# Copia come .env sul server: cp .env.production.example .env # Genera secret: openssl rand -hex 32 POSTGRES_PASSWORD=CHANGE_ME_STRONG_PASSWORD SECRET_KEY_BASE=CHANGE_ME_openssl_rand_hex_64 JWT_SECRET=CHANGE_ME_openssl_rand_hex_32 MEDIAMTX_WEBHOOK_SECRET=CHANGE_ME_openssl_rand_hex_32 # RTMP pubblico per telefoni (IP WAN o DDNS + porta 1935) MEDIAMTX_RTMP_URL=rtmp://YOUR_PUBLIC_IP_OR_DOMAIN:1935 # Dominio pubblico (Nginx Proxy Manager → Rails :3000) APP_PUBLIC_URL=https://matchlivetv.yourdomain.com HLS_PUBLIC_URL=https://matchlivetv.yourdomain.com/hls CORS_ORIGINS=https://matchlivetv.yourdomain.com ALLOWED_HOSTS=matchlivetv.yourdomain.com,192.168.1.146 YOUTUBE_REDIRECT_URI=https://matchlivetv.yourdomain.com/api/v1/youtube/callback # YouTube OAuth (opzionale) YOUTUBE_CLIENT_ID= YOUTUBE_CLIENT_SECRET= # Stripe (abbonamento Premium squadra) STRIPE_SECRET_KEY= STRIPE_WEBHOOK_SECRET= STRIPE_PREMIUM_LIGHT_PRICE_ID= STRIPE_PREMIUM_FULL_PRICE_ID= RAILS_LOG_LEVEL=info # Titolare trattamento (GDPR) — obbligatorio in produzione PRIVACY_CONTROLLER_NAME=Ragione sociale / nome titolare PRIVACY_CONTROLLER_ADDRESS=Indirizzo sede legale PRIVACY_CONTACT_EMAIL=privacy@matchlivetv.it PRIVACY_CONTROLLER_VAT= # Email transazionali (reset password, inviti) MAILER_FROM=Match Live TV SMTP_ADDRESS= SMTP_PORT=587 SMTP_USERNAME= SMTP_PASSWORD= SMTP_AUTH=plain SMTP_STARTTLS=true PASSWORD_RESET_EXPIRY_HOURS=2