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:
@@ -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
|
||||
Reference in New Issue
Block a user