I telefoni in 4G non raggiungono l'IP LAN; la NAT sulla 11935 espone collaudo.matchlivetv.it. Co-authored-by: Cursor <cursoragent@cursor.com>
110 lines
3.3 KiB
Bash
110 lines
3.3 KiB
Bash
# Copia come infra/.env sul container di collaudo e genera i secret.
|
|
# cp .env.collaudo.example .env && openssl rand -hex 32 (ripeti per ogni CHANGE_ME)
|
|
|
|
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 collaudo: porta host 11935 (vedi docker-compose.collaudo.yml).
|
|
# Hostname pubblico: i telefoni in 4G non raggiungono 192.168.1.157.
|
|
# NAT MikroTik: TCP 11935 WAN → 192.168.1.157:11935. NON toccare :1935 di produzione.
|
|
MEDIAMTX_RTMP_URL=rtmp://collaudo.matchlivetv.it:11935
|
|
|
|
APP_PUBLIC_URL=https://collaudo.matchlivetv.it
|
|
HLS_PUBLIC_URL=https://collaudo.matchlivetv.it/hls
|
|
CORS_ORIGINS=https://collaudo.matchlivetv.it
|
|
ALLOWED_HOSTS=collaudo.matchlivetv.it,192.168.1.157,localhost
|
|
YOUTUBE_REDIRECT_URI=https://collaudo.matchlivetv.it/api/v1/youtube/callback
|
|
|
|
YOUTUBE_CLIENT_ID=
|
|
YOUTUBE_CLIENT_SECRET=
|
|
YOUTUBE_PLATFORM_REFRESH_TOKEN=
|
|
|
|
# Stripe: preferisci chiavi Test su collaudo
|
|
STRIPE_SECRET_KEY=
|
|
STRIPE_WEBHOOK_SECRET=
|
|
STRIPE_PREMIUM_LIGHT_MONTHLY_PRICE_ID=
|
|
STRIPE_PREMIUM_LIGHT_YEARLY_PRICE_ID=
|
|
STRIPE_PREMIUM_FULL_MONTHLY_PRICE_ID=
|
|
STRIPE_PREMIUM_FULL_YEARLY_PRICE_ID=
|
|
STRIPE_PREMIUM_LIGHT_PRICE_ID=
|
|
STRIPE_PREMIUM_FULL_PRICE_ID=
|
|
|
|
RAILS_LOG_LEVEL=info
|
|
|
|
PRIVACY_CONTROLLER_NAME=Emiliano Frascaro
|
|
PRIVACY_CONTROLLER_ADDRESS=Via Guido De Ruggiero, 89 - 20142 - Milano (MI)
|
|
PRIVACY_CONTACT_EMAIL=privacy@matchlivetv.it
|
|
PRIVACY_CONTROLLER_VAT=
|
|
|
|
MAILER_FROM=Match Live TV Collaudo <noreply@matchlivetv.it>
|
|
SMTP_ADDRESS=
|
|
SMTP_PORT=465
|
|
SMTP_USERNAME=
|
|
SMTP_PASSWORD=
|
|
SMTP_AUTH=plain
|
|
SMTP_SSL=true
|
|
SMTP_STARTTLS=false
|
|
PASSWORD_RESET_EXPIRY_HOURS=2
|
|
|
|
MATCHLIVETV_VIDEOS_ROOT=/media/videos/matchlivetv
|
|
|
|
REPLAY_STORAGE_ENDPOINT=http://garage:3900
|
|
REPLAY_STORAGE_BUCKET=matchlivetv-replays
|
|
REPLAY_STORAGE_REGION=garage
|
|
REPLAY_STORAGE_ACCESS_KEY_ID=
|
|
REPLAY_STORAGE_SECRET_ACCESS_KEY=
|
|
REPLAY_STORAGE_FORCE_PATH_STYLE=true
|
|
REPLAY_MEDIA_PUBLIC_BASE_URL=https://collaudo.matchlivetv.it/media
|
|
REPLAY_MEDIA_REDIRECT=true
|
|
|
|
RAILS_MAX_THREADS=5
|
|
|
|
OPS_HTTP_RAILS_URL=http://edge/up
|
|
OPS_HTTP_PUBLIC_INTERVAL_SECS=900
|
|
NTFY_PUBLIC_URL=http://192.168.1.157:18090
|
|
OPS_NTFY_URL=
|
|
OPS_NTFY_TOKEN=
|
|
OPS_ALERT_EMAIL=
|
|
OPS_NOTIFY_SEVERITIES=critical,warning
|
|
OPS_NOTIFY_COOLDOWN_MINUTES=30
|
|
OPS_HEALTH_INTERVAL_SECS=180
|
|
OPS_HEALTH_TOKEN=
|
|
OPS_DISK_WARN_PERCENT=80
|
|
OPS_DISK_CRIT_PERCENT=90
|
|
OPS_RECORDINGS_WARN_GB=20
|
|
OPS_RECORDINGS_CRIT_GB=50
|
|
OPS_SIDEKIQ_STALE_SECS=300
|
|
OPS_LOG_SUBSCRIBER=false
|
|
|
|
SENTRY_DSN=
|
|
|
|
# Stream autoscale — token Hetzner da compilare; kill-switch cloud off finché WG non è ok
|
|
HCLOUD_TOKEN=
|
|
HCLOUD_LOCATION=nbg1
|
|
HCLOUD_SERVER_TYPE=cpx12
|
|
HCLOUD_IMAGE=debian-12
|
|
HCLOUD_SSH_KEY=matchlivetv-stream-hetzner
|
|
HCLOUD_NETWORK_ID=
|
|
HCLOUD_USER_DATA_FILE=/opt/matchlivetv/infra/stream-node/cloud-init.yaml
|
|
STREAM_DNS_ZONE=mltv-stream.net
|
|
STREAM_DNS_TTL=60
|
|
STREAM_CLOUD_DNS_SUFFIX=mltv-stream.net
|
|
STREAM_CLOUD_MAX_PUBLISHERS=4
|
|
STREAM_NODE_ENV=collaudo
|
|
STREAM_CLOUD_PROVIDER=local_lab
|
|
RELAY_MAX_CONCURRENT=4
|
|
YOUTUBE_RELAY_WORKER=1
|
|
|
|
STREAM_AUTOSCALE_ENABLED=0
|
|
STREAM_AUTOSCALE_KIND=lab
|
|
STREAM_AUTOSCALE_ALLOW_CLOUD=0
|
|
STREAM_AUTOSCALE_SOFT_FREE_SLOTS=2
|
|
STREAM_AUTOSCALE_WARM_SPARE=1
|
|
STREAM_AUTOSCALE_IDLE_MINUTES=30
|
|
STREAM_AUTOSCALE_MAX_NODES=5
|
|
STREAM_AUTOSCALE_NODE_EUR_PER_HOUR=0.015
|
|
STREAM_AUTOSCALE_MONTHLY_BUDGET_EUR=40
|
|
STREAM_OVERFLOW_ORPHAN_HOURS=3
|