Aggiunge registry nodi stream e provisioning Hetzner/lab per lo scale-out.

Prepara l'architettura multi-nodo (MediaMTX+ffmpeg) con assignment URL per sessione, admin di provision/drain e provider Cloud/DNS astratti verso mltv-stream.net.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-09 19:52:47 +02:00
co-authored by Cursor
parent 45bdda7c95
commit c3878cdc6d
48 changed files with 1980 additions and 25 deletions
+41
View File
@@ -0,0 +1,41 @@
#cloud-config
# Cloud-init minimale per nodo stream Hetzner (MediaMTX + ffmpeg).
# Uso in .env produzione:
# HCLOUD_USER_DATA_FILE=/opt/matchlivetv/infra/stream-node/cloud-init.yaml
#
# Per boot più veloci: creare uno snapshot dopo il primo setup e usare HCLOUD_IMAGE=<snapshot>.
package_update: true
packages:
- docker.io
- ffmpeg
- curl
runcmd:
- systemctl enable --now docker
- mkdir -p /opt/stream-node /recordings /slates
- |
cat >/opt/stream-node/docker-compose.yml <<'EOF'
services:
mediamtx:
image: bluenviron/mediamtx:latest
network_mode: host
restart: unless-stopped
volumes:
- ./mediamtx.yml:/mediamtx.yml:ro
- /recordings:/recordings
- /slates:/slates:ro
command: /mediamtx.yml
EOF
- |
cat >/opt/stream-node/mediamtx.yml <<'EOF'
logLevel: info
api: yes
apiAddress: :9997
rtmp: yes
rtmpAddress: :1935
hls: yes
hlsAddress: :8888
paths:
all_others:
EOF
- cd /opt/stream-node && docker compose up -d