Files
MatchLiveTv/infra/.env.example
Emiliano Frascaro 80813b390b Fix connessione RTMP in dev: riscrivi host Docker mediamtx per iOS.
Il simulatore non risolve «mediamtx»; l'app riscrive l'ingest verso 127.0.0.1 e docker-compose espone MEDIAMTX_RTMP_URL client-safe con messaggi d'errore RTMP più chiari.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-15 07:30:06 +02:00

56 lines
2.7 KiB
Plaintext

POSTGRES_PASSWORD=matchlivetv_dev
SECRET_KEY_BASE=change_me_to_a_long_random_string_in_production
MEDIAMTX_WEBHOOK_SECRET=mediamtx_webhook_dev_secret
# URL RTMP per telefoni/simulatori (NON usare host Docker «mediamtx»).
# Dev su Mac: rtmp://127.0.0.1:1935 — device fisico sulla LAN: rtmp://IP_MAC:1935
MEDIAMTX_RTMP_URL=rtmp://127.0.0.1:1935
JWT_SECRET=matchlivetv_jwt_dev_secret_change_in_prod
YOUTUBE_CLIENT_ID=
YOUTUBE_CLIENT_SECRET=
YOUTUBE_REDIRECT_URI=http://localhost:3000/api/v1/youtube/callback
# Refresh token canale Match Live TV (Premium Light) — vedi docs/YOUTUBE_SETUP.md
YOUTUBE_PLATFORM_REFRESH_TOKEN=
YOUTUBE_MOCK_STREAM_KEY=mock-stream-key
PRIVACY_CONTROLLER_NAME=Emiliano Frascaro
PRIVACY_CONTROLLER_ADDRESS=Via Guido De Ruggiero, 89 - 20142 - Milano (MI)
PRIVACY_CONTACT_EMAIL=privacy@matchlive.it
MAILER_FROM=Match Live TV <noreply@matchlivetv.it>
PASSWORD_RESET_EXPIRY_HOURS=2
# Google Analytics 4 (opzionale — caricato solo dopo consenso cookie «Accetta tutti»)
# GOOGLE_ANALYTICS_MEASUREMENT_ID=G-XXXXXXXXXX
# Stripe (test: sk_test_... / price_... da Dashboard modalità Test)
STRIPE_SECRET_KEY=
STRIPE_WEBHOOK_SECRET=
# Un price per prodotto e intervallo (Dashboard → Prodotto → Prezzi)
STRIPE_PREMIUM_LIGHT_MONTHLY_PRICE_ID=
STRIPE_PREMIUM_LIGHT_YEARLY_PRICE_ID=
STRIPE_PREMIUM_FULL_MONTHLY_PRICE_ID=
STRIPE_PREMIUM_FULL_YEARLY_PRICE_ID=
# Legacy (equivale a YEARLY se le righe sopra sono vuote)
STRIPE_PREMIUM_LIGHT_PRICE_ID=
STRIPE_PREMIUM_FULL_PRICE_ID=
# --- Replay storage (dopo ogni diretta Premium) ---
# Dev locale con Docker: Garage parte con `docker compose up` (servizio garage).
# Bootstrap una tantum: bash infra/scripts/setup_garage_replays.sh → aggiorna .env con le chiavi.
# MODALITÀ A — solo filesystem: lascia REPLAY_STORAGE_ENDPOINT vuoto (volume /recordings/replays/).
# MODALITÀ B — Garage/S3: compila tutte le righe sotto (endpoint rete Docker: http://garage:3900).
REPLAY_STORAGE_ENDPOINT=http://garage:3900
REPLAY_STORAGE_BUCKET=matchlivetv-replays
REPLAY_STORAGE_REGION=garage
# Credenziali S3: NON le inventi a mano. Le genera Garage con lo script di bootstrap:
# cd infra && bash scripts/setup_garage_replays.sh
# Lo script crea la chiave "replay-uploader" e scrive Key ID + Secret in infra/.env (non in questo file).
# ACCESS_KEY_ID = "Key ID" mostrato da Garage (es. GK6619e25d53883a7bc3f75755)
# SECRET_ACCESS_KEY = "Secret key" mostrata UNA SOLA VOLTA alla creazione della chiave
REPLAY_STORAGE_ACCESS_KEY_ID=
REPLAY_STORAGE_SECRET_ACCESS_KEY=
# true = obbligatorio per Garage/MinIO (path-style). Non cambiare se usi Garage.
REPLAY_STORAGE_FORCE_PATH_STYLE=true
# Opzionale: durata link firmati per play/download (secondi)
# REPLAY_PRESIGNED_URL_TTL_SECONDS=7200
# REPLAY_DOWNLOAD_URL_TTL_SECONDS=900