2026-03-23 00:37:22 +01:00
2026-03-23 00:37:22 +01:00
2026-03-23 00:37:22 +01:00
2026-03-23 00:37:22 +01:00
2026-03-22 23:15:50 +00:00
2026-03-22 23:15:50 +00:00
2026-03-22 23:15:50 +00:00

TuxiNet StreamHub v1

Et komplet, selvhostet streaming-kontrolpanel til Ubuntu LXC i Proxmox med Docker Compose, MediaMTX, Flask backend og Caddy reverse proxy.

Hvad den kan i v1

  • Opret streams med navn, slug og token
  • Start/stop adgang til at publicere
  • Login til admin og streamer-roller
  • HLS preview direkte i panelet
  • Twitch/YouTube chat embed pr. stream
  • Status: live/offline, opløsning, FPS, codec, lydkanaler, sample rate, bitrate hvis ffprobe kan aflæse det
  • MediaMTX auth via HTTP mod backend
  • Hooks fra MediaMTX til backend ved stream ready / not ready
  • Simpelt mørkt webinterface

Vigtige noter

  • Lyd: Designet til stereo-AAC workflows. Mono markeres i UI som advarsel.
  • Lav forsinkelse: v1-preview bruger LL-HLS/HLS for stabilitet. MediaMTX WebRTC-porte er eksponeret til senere udbygning.
  • Start stream betyder i v1: streamen åbnes for publishing. Serveren kan ikke fjernstarte OBS på en anden maskine.
  • Stop stream betyder i v1: publishing nægtes ved auth, og streamen markeres utilgængelig i panelet. Hvis du senere vil kunne kikke sessions mere aggressivt, kan det udvides via MediaMTX Control API.

Arkitektur

  • mediamtx: ingest + preview/media-routing
  • backend: auth, admin, DB, status, hooks, UI
  • caddy: reverse proxy + webadgang

1) LXC i Proxmox

Anbefalet:

  • Ubuntu 24.04 LTS
  • 2 vCPU minimum
  • 4 GB RAM minimum
  • 20 GB disk minimum
  • Fast IP
  • Nesting enabled
  • Keyctl enabled

Hvis Docker i unprivileged LXC driller, så brug enten:

  • privileged LXC til denne ene container, eller
  • en lille Ubuntu VM i stedet

2) Installer Docker i LXC

Kør scripts/install_docker_ubuntu.sh som root.

3) Klargør projektet

cd /opt
mkdir -p /opt/streamhub
cd /opt/streamhub
# kopier alle filer hertil
cp .env.example .env
nano .env

Sæt mindst:

  • SECRET_KEY
  • ADMIN_PASSWORD
  • PUBLIC_BASE_URL
  • MEDIA_PUBLIC_HLS_BASE

4) Start stacken

docker compose build
docker compose up -d

5) Login

Standard admin-bruger hentes fra .env:

  • brugernavn: ADMIN_USERNAME
  • kodeord: ADMIN_PASSWORD

6) Router / firewall

Åbn som minimum:

  • 80/tcp
  • 443/tcp
  • 1935/tcp for RTMP ingest

Internt bruges også:

  • 8888/tcp HLS (bag Caddy via /hls/*)
  • 9997/tcp MediaMTX API kun lokalt

7) OBS anbefalinger til DJ stream

  • Audio sample rate: 48 kHz
  • Channels: Stereo
  • Audio bitrate: 256320 kbps AAC
  • Keyframe interval: 2 sek
  • Video: fx 1920x1080 / 30 eller 50 FPS alt efter setup

8) URL'er

Admin/UI:

  • https://ditdomæne/

Preview HLS via Caddy:

  • https://ditdomæne/hls/<slug>/index.m3u8

RTMP publish:

  • rtmp://ditdomæne:1935/<slug>?token=<token>

9) Begrænsninger i v1

  • Preview er HLS/LL-HLS, ikke fuld WebRTC-player endnu
  • Session-kick er ikke tvunget ind i UI endnu
  • Ingen transcoding-profiler
  • Ingen 2FA
  • Ingen multi-node / HA

10) Senere udbygning

  • WebRTC preview med dedikeret spiller
  • OBS WebSocket integration
  • Push til Twitch/YouTube fra panelet
  • Bedre real-time metrics via websocket
  • Per-stream roller og share links
S
Description
No description provided
Readme
5.7 MiB
Languages
Python 56.4%
HTML 30.5%
CSS 10.8%
Shell 1.2%
Dockerfile 1.1%