#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=. 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