Schema: Smartphone, Encoder oder OBS senden über die Ports 1935 (RTMP), 1936 (RTMPS) oder 6000 (SRT) an den Container restreamer. Die Weboberfläche läuft über 8080 und 8181. Die Ordner config und data bleiben erhalten. Ausgaben gehen an Plattformen, Player und andere Empfänger.

Was macht datarhei Restreamer?

Restreamer ist eine selbst gehostete Streaming-Server-Lösung mit Weboberfläche. Sie kann Videoquellen empfangen, verarbeiten, auf einer eigenen Player-Seite bereitstellen und als Veröffentlichung an Plattformen oder andere Server weitersenden.

Offizielle datarhei-Webseite öffnen

Smartphone / Encoder / OBS → Restreamer auf dem eigenen Server
                                      ├→ YouTube / Twitch / weiterer Dienst
                                      ├→ Player oder HLS-Webseite
                                      └→ OBS beziehungsweise anderer Empfänger
Nicht verwechseln: Diese Anleitung behandelt das Open-Source-Projekt datarhei Restreamer, nicht den externen Multistreaming-Dienst Restream.io.

Inhalt der Anleitung

1. Voraussetzungen und System prüfen

Diese Anleitung ist für die aktuell von Docker unterstützten 64-Bit-Systeme ausgelegt:

Zeige Distribution, Version und Architektur an:

cat /etc/os-release && \
dpkg --print-architecture

Wechsle anschließend in eine Root-Shell. Unter Ubuntu:

sudo -i

Unter Debian ohne eingerichtetes sudo:

su -

Wenn dein Prompt bereits root@… zeigt, bist du schon Root.

Root-Rechte: Prüfe jeden Befehl vor dem Einfügen. Die Root-Shell gilt nur für diese Installation; die folgenden Befehle benötigen deshalb kein weiteres sudo.
Ubuntu oder Debian auswählen: Führe im nächsten Abschnitt ausschließlich den Block für dein Betriebssystem aus. Der weitere Restreamer-Aufbau ist anschließend identisch.

2. Docker Engine und Compose installieren

Vorhandenes Docker zuerst prüfen

Wenn Docker bereits installiert ist und andere Container laufen, ersetze keine Pakete unüberlegt. Auf einem frischen Server kannst du mit dpkg -l docker.io docker-compose docker-compose-v2 containerd runc nach Konfliktpaketen sehen. Falls solche Pakete vorhanden sind, folge dem Abschnitt „Uninstall old versions“ der unten verlinkten offiziellen Docker-Anleitung für dein System. Der folgende Ablauf setzt einen konfliktfreien Server voraus.

Grundpakete installieren

apt update && \
apt install ca-certificates curl -y && \
install -m 0755 -d /etc/apt/keyrings

Variante A: Ubuntu 26.04, 24.04 oder 22.04

curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

Variante B: Debian 13 oder 12

curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc && \
chmod a+r /etc/apt/keyrings/docker.asc && \
tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

Docker auf beiden Systemen installieren und prüfen

apt update && \
apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y && \
systemctl enable --now docker && \
docker run --rm hello-world && \
docker compose version
Erwartetes Ergebnis: Der Testcontainer meldet eine erfolgreiche Docker-Installation und docker compose version zeigt das Compose-Plug-in an.

Offizielle Quellen: Docker unter Ubuntu und Docker unter Debian.

3. Restreamer mit Compose bereitstellen

Der Container stammt direkt aus dem offiziellen datarhei-Projekt. Diese Anleitung verwendet das Multiarch-Image datarhei/restreamer:latest, das Docker passend zur Prozessorarchitektur lädt.

Restreamer bei datarhei ansehen Fertige Compose-Datei herunterladen

Lade die vorbereitete Datei direkt in das Installationsverzeichnis:

install -d -m 0755 /opt/restreamer/config /opt/restreamer/data && \
curl -fsSL --retry 3 https://irl4you.de/downloads/compose-restreamer.yaml -o /opt/restreamer/compose.yaml && \
chown root:root /opt/restreamer/compose.yaml && \
chmod 0644 /opt/restreamer/compose.yaml

Die Datei verwendet die von datarhei dokumentierten Speicherpfade und Ports:

services:
  restreamer:
    image: datarhei/restreamer:latest
    container_name: restreamer
    restart: unless-stopped
    ports:
      - "8080:8080/tcp"
      - "8181:8181/tcp"
      - "1935:1935/tcp"
      - "1936:1936/tcp"
      - "6000:6000/udp"
    volumes:
      - /opt/restreamer/config:/core/config
      - /opt/restreamer/data:/core/data
Vor dem Start absichern: Die fertige Compose-Datei veröffentlicht alle fünf genannten Ports auf allen Netzwerkschnittstellen. Auch die Verwaltungsoberfläche auf Port 8080 kann damit sofort aus dem Internet erreichbar sein. Richte zuerst die Firewall beim Hoster oder die Routerfreigaben passend ein und entferne nicht benötigte Port-Zeilen aus /opt/restreamer/compose.yaml. Die lokale UFW allein begrenzt Docker-veröffentlichte Ports nicht zuverlässig.

Container herunterladen und starten:

cd /opt/restreamer && \
docker compose config && \
docker compose pull && \
docker compose up -d && \
docker compose ps
Erwartetes Ergebnis: Der Dienst restreamer steht auf Up. Die Ordner /opt/restreamer/config und /opt/restreamer/data bleiben auch beim Neuerstellen des Containers erhalten.
Keine unnötigen Vollrechte: Die Standarddatei verwendet bewusst weder privileged: true noch direkten Gerätezugriff. Solche Rechte sind nur für lokale USB-Kameras oder bestimmte GPU-Hardware nötig und sollten erst nach der normalen Funktionsprüfung gezielt ergänzt werden.

4. Ports und Firewall

Standardports von datarhei Restreamer
PortProtokollAufgabeÖffnen?
8080TCPHTTP-Weboberflächefür Einrichtung, später absichern
8181TCPHTTPS-Weboberflächebei HTTPS
1935TCPRTMPnur bei RTMP
1936TCPRTMPSnur bei RTMPS
6000UDPSRTnur bei SRT

Für SSH und andere Dienste direkt auf dem Host kannst du UFW einsetzen. Prüfe vor dem Aktivieren, ob der angezeigte Port wirklich zu deiner aktuellen SSH-Verbindung passt; bei mehreren SSH-Ports musst du alle verwendeten Ports freigeben. Führe den folgenden Block erst aus, wenn das stimmt:

SSH_PORT=$(/usr/sbin/sshd -T | awk '$1=="port" {print $2; exit}') && \
test -n "$SSH_PORT" && \
printf 'Erkannter SSH-Port: %s\n' "$SSH_PORT" && \
apt install ufw -y && \
ufw allow "${SSH_PORT}/tcp" && \
ufw default deny incoming && \
ufw default allow outgoing && \
ufw --force enable && \
ufw status verbose
Wichtig bei Docker: UFW schützt die vom Container veröffentlichten Ports unter Umständen nicht. Begrenze Port 8080/8181 und die Streaming-Ports daher bereits in der Firewall des Serveranbieters oder am Router. Öffne dort nur die tatsächlich benötigten Protokolle und Quellen. Der Befehl oben ersetzt diese externe Zugangskontrolle nicht. Docker erklärt das Verhalten selbst.

5. Weboberfläche und ersten Benutzer einrichten

Öffne nach dem Start im Browser:

http://DEINE-SERVER-IP:8080/ui

Lege beim ersten Aufruf einen eigenen Administratorzugang mit langem, einmaligem Passwort an. Danach führt der Assistent durch Videoquelle, Audio und gewünschte Veröffentlichung. Nutze keine Beispielkennwörter und veröffentliche die Verwaltungsoberfläche nicht dauerhaft ungeschützt.

Prüfe den Container bei Problemen:

cd /opt/restreamer && \
docker compose ps && \
docker compose logs --tail=100

6. Quelle und Ziel einrichten

  1. In der Restreamer-Weboberfläche eine neue Videoquelle anlegen.
  2. Passendes Eingangsprotokoll wählen: RTMP, RTMPS, SRT oder eine andere unterstützte Quelle.
  3. Die angezeigte Serveradresse und den Stream-Key in Smartphone-App, Encoder oder OBS übernehmen.
  4. Bild, Ton, Codec und Eingangsbitrate in der Vorschau prüfen.
  5. Unter Veröffentlichung das gewünschte Ziel anlegen und dessen Serveradresse sowie Stream-Key eintragen.
  6. Zuerst einen privaten Teststream starten und Bild, Ton sowie Stabilität am Ziel kontrollieren.
Transcoding kostet Leistung: Wenn Eingangs- und Ausgangscodec bereits passen, ist Kopieren beziehungsweise Remuxen ressourcenschonender. Auflösung, Codec oder Bitrate neu zu berechnen benötigt deutlich mehr CPU oder passende Hardwarebeschleunigung.

7. Sicherheit und HTTPS

Die offizielle Portweiterleitung sieht für einen öffentlichen Betrieb typischerweise 80 → 8080 und 443 → 8181 vor. Ob Restreamers automatische Zertifikatsfunktion oder ein eigener Reverse Proxy sinnvoller ist, hängt von Domain, Router und vorhandener Serverstruktur ab.

Vorhandene Server beachten: Wenn Nginx, Apache oder ein anderer Dienst bereits Port 80, 443, 1935 oder 6000 belegt, darf Restreamer nicht ungeprüft dieselben Host-Ports verwenden. Passe dann die linke Portnummer der Compose-Datei oder den bestehenden Reverse Proxy an.

8. Update, Backup und Fehlerdiagnose

Aktualisieren

cd /opt/restreamer && \
docker compose config && \
docker compose pull && \
docker compose up -d

Konfiguration und Daten sichern

tar -C / -czf /root/restreamer-backup-$(date +%F-%H%M%S).tar.gz \
  opt/restreamer/config \
  opt/restreamer/data \
  opt/restreamer/compose.yaml

Live-Protokoll ansehen

cd /opt/restreamer && \
docker compose logs -f --tail=200

Root-Shell verlassen

exit
Vor Updates sichern: Das Tag latest erleichtert Aktualisierungen, kann aber auch eine neue Programmversion einspielen. Sichere die persistenten Ordner und prüfe nach dem Update Eingänge, Veröffentlichungen und Player.

Weitere Details: offizielle datarhei-Webseite, Restreamer Quick Start und datarhei Restreamer auf GitHub.

9. Video: Restreamer auf einer virtuellen Maschine installieren

Das Video von Akinos01 „Akinos“ zeigt die Restreamer-Installation auf einer virtuellen Maschine als praktische Ergänzung zu dieser schriftlichen Anleitung.

Schriftliche Alternative zum Video: Die Schritte zu Docker, Compose-Konfiguration und Start und Prüfung stehen direkt auf dieser Seite.

10. Häufige Fragen

Ist datarhei Restreamer dasselbe wie Restream.io?

Nein. Hier geht es um das Open-Source-Projekt datarhei Restreamer, das du selbst hostest. Der Multistreaming-Dienst Restream.io ist etwas anderes.

Welche Ports nutzt Restreamer standardmäßig?

8080 (HTTP-Weboberfläche), 8181 (HTTPS-Weboberfläche), 1935 (RTMP), 1936 (RTMPS) und 6000 UDP (SRT). Öffne nur die, die du wirklich brauchst. Mehr dazu unter Ports und Firewall.

Reicht UFW, um die Docker-Ports abzusichern?

Nicht unbedingt. UFW greift bei Ports, die ein Container veröffentlicht, unter Umständen nicht. Sperr den Zugriff zusätzlich in der Firewall deines Serveranbieters oder am Router.

Bleiben meine Einstellungen beim Update erhalten?

Die Ordner /opt/restreamer/config und /opt/restreamer/data bleiben erhalten, wenn du den Container neu erstellst. Mit dem Tag latest kann aber eine neue Programmversion kommen. Sichere deshalb vorher trotzdem, siehe Update, Backup und Fehlerdiagnose.

Wann braucht Restreamer viel CPU-Leistung?

Beim Transcoding, also wenn Auflösung, Codec oder Bitrate neu berechnet werden. Passen Eingangs- und Ausgangscodec schon zusammen, reicht Kopieren (Remuxen). Das schont die CPU deutlich.

Danke an das datarhei-Team

Ein herzliches Dankeschön geht an die Entwicklerinnen, Entwickler und Mitwirkenden des datarhei Restreamers. Mit dem frei verfügbaren Open-Source-Projekt, dem offiziellen Docker-Image und der ausführlichen Dokumentation stellen sie der Streaming-Community eine leistungsfähige Lösung zum selbstständigen Hosten und Verteilen von Livestreams zur Verfügung.

Diese IRL4YOU-Anleitung ist eine eigenständig erstellte deutschsprachige Praxishilfe. Sie steht in keiner offiziellen Verbindung zum datarhei-Projekt. Fehlerberichte, Quellcode und Beiträge zum Originalprojekt gehören direkt in das offizielle Restreamer-Repository auf GitHub.

Zuletzt fachlich geprüft: · Aktualisiert: · Herausgegeben von IRL4YOU