Club come entità principale, branding e fix infrastruttura streaming.
Introduce clubs con abbonamento, branding Active Storage e flusso registrazione società; corregge healthcheck MediaMTX (immagine distroless) e allinea dominio produzione matchlivetv.it. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -14,7 +14,7 @@
|
||||
| Prezzo | €0 | €40/anno o €5/mese | €200/anno o €20/mese |
|
||||
| Embed sito società | No | No | In arrivo |
|
||||
|
||||
Esigenze custom: contatto `info@matchlivetv.eminux.it`.
|
||||
Esigenze custom: contatto `info@matchlive.it`.
|
||||
|
||||
## Sito
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
**Server:** `eminux@192.168.1.146` (Debian 13)
|
||||
**Path deploy:** `~/matchlivetv` (dopo bootstrap opzionale: `/opt/matchlivetv`)
|
||||
**Ultimo aggiornamento:** 2026-05-25
|
||||
**Ultimo aggiornamento:** 2026-05-27
|
||||
|
||||
---
|
||||
|
||||
@@ -62,21 +62,21 @@ Il flusso video **non passa da Rails**: telefono → RTMP :1935 → MediaMTX →
|
||||
|
||||
## Nginx Proxy Manager (HTTPS)
|
||||
|
||||
1. **Proxy Host** → Forward Hostname: `http://192.168.1.146:3000` (dominio es. `matchlivetv.eminux.it`)
|
||||
1. **Proxy Host** → Forward Hostname: `http://192.168.1.146:3000` (dominio principale `www.matchlivetv.it`, redirect apex `matchlivetv.it` → `www`)
|
||||
2. **Websockets:** ON (obbligatorio per `/cable`)
|
||||
3. **Custom location HLS** (spettatori):
|
||||
- Location: `/hls`
|
||||
- Forward: `http://192.168.1.146:8888`
|
||||
- Forward: `http://192.168.1.146:8888` (in NPM usare proxy pass che **rimuove** il prefisso `/hls`, così MediaMTX riceve `/live/match_{uuid}/index.m3u8`)
|
||||
- Scheme: http
|
||||
- Così l'HLS è `https://matchlivetv.eminux.it/hls/match_{uuid}/index.m3u8`
|
||||
- URL pubblico: `https://www.matchlivetv.it/hls/live/match_{uuid}/index.m3u8`
|
||||
4. SSL Let's Encrypt su NPM
|
||||
5. Aggiorna `infra/.env` sul server:
|
||||
- `APP_PUBLIC_URL=https://matchlivetv.eminux.it`
|
||||
- `HLS_PUBLIC_URL=https://matchlivetv.eminux.it/hls`
|
||||
- `CORS_ORIGINS=https://matchlivetv.eminux.it`
|
||||
- `ALLOWED_HOSTS=matchlivetv.eminux.it,192.168.1.146`
|
||||
- `MEDIAMTX_RTMP_URL=rtmp://matchlivetv.eminux.it:1935`
|
||||
- `YOUTUBE_REDIRECT_URI=https://matchlivetv.eminux.it/api/v1/youtube/callback` (solo tier premium)
|
||||
- `APP_PUBLIC_URL=https://www.matchlivetv.it`
|
||||
- `HLS_PUBLIC_URL=https://www.matchlivetv.it/hls`
|
||||
- `CORS_ORIGINS=https://www.matchlivetv.it,https://matchlivetv.it`
|
||||
- `ALLOWED_HOSTS=www.matchlivetv.it,matchlivetv.it,192.168.1.146`
|
||||
- `MEDIAMTX_RTMP_URL=rtmp://www.matchlivetv.it:1935`
|
||||
- `YOUTUBE_REDIRECT_URI=https://www.matchlivetv.it/api/v1/youtube/callback` (solo tier premium)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user