OpenRTMP/librtmp2-server packaged for Docker, with an optional RTMPPanel in the Compose stack.
Branch: main · Server image: alexanderwagnerdev/rtmp-server:latest · Panel image: alexanderwagnerdev/rtmppanel:latest.
- OpenRTMP HTTP API, stream management and live statistics
- RTMPPanel with configurable authentication
- Persistent SQLite data and a stable panel encryption secret
- Docker Hub/GHCR images and Docker Compose deployment
The stream-relay-installer offers guided setup and service management. Docker Engine 20.10+ and Docker Compose v2 are required for the examples. The Compose file starts the RTMP server and its management panel together.
git clone --branch main https://github.com/AlexanderWagnerDev/rtmp-server-docker.git
cd rtmp-server-docker
cp .env.example .env
# Edit .env: API token, stable SECRET_KEY, password and public domain.
# Generate API token and SECRET_KEY separately: openssl rand -hex 32
docker compose config --quiet
docker compose up -dPanel: http://localhost:8001. Backend health: http://localhost:8090/api/v1/health.
Create streams in RTMPPanel and copy the provided publish, playback and statistics URLs. Publishing and playback keys may differ. The default application is live; freely chosen nginx /publish/key URLs do not create streams.
docker compose ps
docker compose logs -f rtmp-server| Service | Host | Container | Protocol |
|---|---|---|---|
| RTMP | 1935 | 1935 | TCP |
| RTMP API | 8090 | 8080 | TCP |
| RTMPPanel | 8001 | 8000 | TCP |
The panel reaches the API over the shared Compose network.
See configuration for all environment settings, networking, storage and troubleshooting, and migration for the nginx transition. Copy .env.example, generate credentials, and keep .env and volume backups private. The panel SECRET_KEY must stay unchanged across updates.
docker compose pull
docker compose up -dRetain the same Compose project name, .env and named volumes. Do not combine a Compose deployment with a shell-installer deployment using the same names/ports. docker compose down -v deletes stored data.
- OpenRTMP/librtmp2-server
- OpenRTMP/librtmp2-server-panel
- RTMP server Docker
- RTMPPanel Docker
- SRTLA server Docker
- SLSPanel Docker
See LICENSE. Upstream components retain their respective licenses.
Branch main: OpenRTMP-Server mit RTMPPanel, persistenten Daten und konfigurierbarer Anmeldung. Die Struktur folgt SRTLA-Server und SLSPanel: Compose-Datei, Umgebungsbeispiel, Konfiguration, Fehlerbehebung und Projektlinks.
Den oben gezeigten Branch klonen, .env.example nach .env kopieren und API-Token, festen SECRET_KEY, Passwort und öffentliche Domain eintragen. API-Token und Secret mit jeweils einem eigenen Aufruf von openssl rand -hex 32 erzeugen. Danach docker compose config --quiet und docker compose up -d ausführen.
Die Compose-Datei startet Server und Panel gemeinsam; das Panel erreicht den Server intern über rtmp-server:8080.
Das Panel läuft standardmäßig auf Port 8001, die RTMP-API auf 8090, RTMP auf 1935. Streams im Panel anlegen und die dort angezeigten Sende-, Wiedergabe- und Statistik-URLs verwenden. Sende- und Wiedergabe-Keys können verschieden sein.
Konfiguration und Fehlerbehebung · Migration von nginx
Bei Updates .env, denselben Compose-Projektnamen, Datenvolumes und den festen SECRET_KEY behalten. docker compose down -v löscht Daten. Den interaktiven Installer und Compose als getrennte Installationswege behandeln; beim Wechsel Daten ausdrücklich migrieren.
Details siehe LICENSE.