Owncast auf einem Managed VPS zu hosten heißt, Ihre Live-Videos zu senden und den Chat dazu von einer Maschine aus zu betreiben, die Ihnen gehört und die unsere Teams aktuell halten und Tag und Nacht beaufsichtigen. Owncast ist freie Software unter der MIT-Lizenz. Dieser Leitfaden folgt der offiziellen Dokumentation: Prozessor und Bandbreite, die einzuplanen sind, die Installation mit Docker Compose, der Stream-Schlüssel, HTTPS, die Videoqualitäten, der Objektspeicher, der Chat, Backups und Updates.
Von Simon Vasconcelos Lee
Veröffentlicht am 14. November 2026Lesezeit: 15 Minuten
owncast/owncast, das ffmpeg mitbringt, der Web-Port 8080 hinter einem Reverse Proxy mit HTTPS und der RTMP-Port 1935 für Ihre Streaming-Software.abc123.data außerhalb des Servers und aktualisieren Sie mit docker compose pull.Owncast ist ein quelloffener, selbst gehosteter Server für Live-Video-Streaming und Chat für einen einzelnen Nutzer: Eine Instanz trägt den Kanal einer Person oder einer Organisation. Sein README stellt es als Weg vor, Ihre eigenen Livestreams nach dem Vorbild der großen Plattformen zu betreiben und dabei Ihre Inhalte, Ihre Oberfläche, Ihre Moderation und Ihr Publikum in der Hand zu behalten.
/hls/stream.m3u8.Owncast wird unter der MIT-Lizenz veröffentlicht. Sie gewährt kostenlos das Recht, die Software zu nutzen, zu kopieren, zu ändern, zusammenzuführen, zu veröffentlichen, zu verbreiten, unterzulizenzieren und Kopien davon zu verkaufen. Sie können sie also für Ihr Unternehmen, Ihre Community oder Ihre Kunden betreiben, ohne eine Lizenz zu kaufen.
Die einzige Bedingung ist, den Urheberrechtshinweis und den Lizenztext in allen Kopien oder wesentlichen Teilen der Software beizubehalten. Der Text stellt die Software „wie besehen“ bereit, ohne Gewährleistung.
Die Dokumentation sagt es gleich zu Beginn: Der Bedarf hängt von Ihrer Konfiguration ab. Sie gibt aber eine klare Regel an die Hand, um ihn abzuschätzen. Der Prozessor transkodiert das Video in die Qualitäten, die Sie anbieten; die Bandbreite liefert es an jeden Zuschauer aus.
Die Dokumentation gibt zwei Formeln an. Das Volumen eines Streams in Gigabyte: Bitrate in kbit/s × Dauer in Sekunden × Zuschauer ÷ 8.000.000. Die zu haltende ausgehende Spitzenrate in Mbit/s: Bitrate in kbit/s × Zuschauer ÷ 1.000. Bei mehreren Qualitäten rechnen Sie jede einzeln und addieren sie. Ihre Schätzungen für einen Stream von zwei Stunden:
| Bitrate des Streams | 10 Zuschauer | 25 Zuschauer | 50 Zuschauer |
|---|---|---|---|
| 2.000 kbit/s | 18 GB, 20 Mbit/s | 45 GB, 50 Mbit/s | 90 GB, 100 Mbit/s |
| 4.000 kbit/s | 36 GB, 40 Mbit/s | 90 GB, 100 Mbit/s | 180 GB, 200 Mbit/s |
| 6.000 kbit/s | 54 GB, 60 Mbit/s | 135 GB, 150 Mbit/s | 270 GB, 300 Mbit/s |
Auf einem Simafri-VPS hat der Datenverkehr keinen monatlichen Zähler: Ihre Streams werden nach ihrer Spitzenbitrate bemessen. Wächst Ihr Publikum, liefert der weiter unten beschriebene Objektspeicher das Video an Stelle des Servers aus.
Die Dokumentation nennt gemessene Anhaltspunkte und weist darauf hin, dass sie je nach Codec, Bitrate, Auflösung und Encoder-Voreinstellung schwanken:
| Konfiguration | Prozessorlast |
|---|---|
| Eine einzige Qualität im Passthrough, ohne Neukodierung | Minimal |
| Eine einzige transkodierte Qualität | Gering |
| Zwei Qualitäten, hoch und niedrig | Mittel |
| Drei Qualitäten oder starke Kompression | Hoch |
Die Dokumentation nennt keinen Wert für den Arbeitsspeicher, und die Festplatte spielt kaum eine Rolle: Die Videosegmente werden im Lauf des Streams geschrieben und wieder entfernt. Nur der Ordner data wächst mit der Zeit. Auf einem VPS übernimmt der Prozessor die Kodierung: Jede transkodierte Qualität wird in vCPUs bemessen. Auf einem Managed VPS beschreiben Sie uns Ihre Streams, ihre Bitrate, ihre Qualitäten und Ihr Publikum, und wir empfehlen Ihnen die passende Größe.
Bevor der Stream den Server erreicht, verlässt er Ihre eigene Verbindung. Die Dokumentation verlangt eine Upload-Geschwindigkeit von mindestens dem 1,5-Fachen der Bitrate des Streams: 7,5 Mbit/s für einen Stream mit 5.000 kbit/s. Sie empfiehlt eine Kabelverbindung statt WLAN.
Die Dokumentation bietet das Image owncast/owncast auf Docker Hub an, das ffmpeg enthält, das Kodierwerkzeug, das Owncast braucht. Legen Sie auf einem Server, auf dem Docker installiert ist, einen Ordner an und speichern Sie darin diese compose.yaml, entnommen aus der Dokumentation:
services:
owncast:
image: owncast/owncast:latest
restart: unless-stopped
ports:
- "127.0.0.1:8080:8080"
- "1935:1935"
volumes:
- ./data:/app/data
docker compose up -d
127.0.0.1 veröffentlicht: Das ist die einzige Änderung gegenüber dem Beispiel der Dokumentation, das beide Ports veröffentlicht. Ihre Seite zum Reverse Proxy bittet darum, Owncast nicht direkt ins Internet zu stellen, da es standardmäßig auf allen Schnittstellen lauscht, und Docker veröffentlicht einen Port ohne Angabe auf allen Adressen des Servers. Die Weboberfläche ist dann nur über den Reverse Proxy erreichbar.data hält die Datenbank und ihre Backups auf dem Server, außerhalb des Containers: Ihn sichern und verschieben Sie.latest folgt der jüngsten Version; 0.3.0 legt eine Version fest.Der andere Weg der Dokumentation ist ein Skript, das die neueste Owncast-Version für Ihre Plattform herunterlädt, und ffmpeg, falls es noch nicht vorhanden ist. Es installiert alles in einem Ordner owncast unterhalb des aktuellen. Die Dokumentation rät davon ab, es als root auszuführen, und empfiehlt, jedes entfernte Skript vor dem Ausführen zu lesen:
curl -s https://owncast.online/install.sh | bash
Damit Owncast mit dem Server startet und nach einem Absturz von selbst neu startet, liefert die Dokumentation einen systemd-Dienst, den Sie an den gewählten Ordner und das gewählte Konto anpassen:
[Unit]
Description=Owncast
After=network.target
[Service]
Type=simple
WorkingDirectory=/opt/owncast
ExecStart=/opt/owncast/owncast
User=owncast
Group=owncast
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now owncast
Die Administration liegt unter /admin. Owncast startet mit Zugangsdaten, die jeder kennt, und die Dokumentation bittet darum, sie bei der ersten Anmeldung zu ändern:
| Einstellung | Standardwert | Wozu sie dient |
|---|---|---|
| Admin-Benutzername | admin | Die Anmeldung an /admin |
| Admin-Passwort | abc123 | Die Anmeldung an /admin |
| Stream-Schlüssel | abc123 | Das Senden des Streams aus Ihrer Streaming-Software |
Um diese Änderung vorzunehmen, bevor die Oberfläche öffentlich erreichbar ist, gehen Sie über einen SSH-Tunnel: Port 8080 des Servers erscheint dann auf Ihrem Computer, unter http://localhost:8080/admin. Ergänzen Sie -p und den SSH-Port aus Ihrem Kundenbereich.
ssh -L 8080:127.0.0.1:8080 user@live.example.com
!@#$%^&*, und nirgends einen Bindestrich.--adminpassword, der es in der Datenbank speichert.Das Admin-Passwort und der Stream-Schlüssel lauten anfangs beide abc123, sind aber zwei getrennte Einstellungen: Ändern Sie beide.
Owncast kümmert sich nicht selbst um HTTPS. Die Dokumentation stellt ihm einen Reverse Proxy voran, der auf den Ports 80 und 443 lauscht, das Zertifikat bezieht, den Datenverkehr verschlüsselt und ihn unverschlüsselt an Owncast auf Port 8080 weitergibt. Ohne HTTPS kennzeichnen Browser die Seite als nicht sicher, und eine über HTTPS ausgelieferte Seite kann Ihr Video und Ihren Chat nicht einbetten.
/ws, die den Chat trägt. Ein Proxy, der sie blockiert, schneidet den Chat ab.X-Forwarded-For, um die IP-Adresse eines im Chat gesperrten Nutzers zu blockieren. Die Dokumentation verlangt, dass der Proxy diesen Header selbst setzt.Die Dokumentation schlägt Caddy vor, wenn Sie keine andere Präferenz haben: Es bezieht selbstständig ein Zertifikat von Let’s Encrypt und leitet WebSocket ohne zusätzliche Einstellung weiter. Hier ihr Caddyfile-Beispiel, in dem die Zeile tls die E-Mail-Adresse des Let’s-Encrypt-Kontos angibt:
live.example.com {
encode gzip
reverse_proxy 127.0.0.1:8080
tls contact@example.com
}
Bei Nginx betont die Dokumentation WebSocket: Wer es vergisst, legt den Chat lahm. Ergänzen Sie den Abschnitt http von /etc/nginx/nginx.conf um diesen Block map:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
Dieser Site-Block folgt dem der Dokumentation, auf Port 80, damit Certbot HTTPS einrichten kann:
server {
listen 80;
listen [::]:80;
server_name live.example.com;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Authorization $http_authorization;
proxy_pass_header Authorization;
proxy_pass http://127.0.0.1:8080;
}
}
sudo nginx -t
sudo certbot --nginx
Owncast akzeptiert jede Software, die über RTMP an einen entfernten Server sendet. Der Schlüssel wird nur auf dem Pfad /live angenommen. In OBS:
rtmp://live.example.com:1935/live ein.Software ohne Feld für den Schlüssel akzeptiert die vollständige Adresse, rtmp://live.example.com:1935/live/your-key.
Auf einem Simafri-VPS kann die IPv6-Adresse des Servers jeden Port öffnen, den Sie wählen: Ihre Streaming-Software erreicht Port 1935 über diese Adresse, unter einem Namen, der den Eintrag AAAA trägt. In einem IPv4-Docker-Netzwerk, wie hier, leitet Docker den Port auf der IPv6-Adresse des Servers an den Container weiter. Öffnen Sie diesen Port, wenn ufw aktiv ist, und testen Sie dann von Ihrem Computer aus:
sudo ufw allow 1935/tcp
nc -6 -vz live.example.com 1935
Für jeden anderen Bedarf beschreiben Sie uns Ihr Vorhaben, und wir sehen uns die Adressierung gemeinsam mit Ihnen an.
2.| Auflösung | Bilder pro Sekunde | Empfohlene Bitrate |
|---|---|---|
| 1920 × 1080 | 60 | 5.000 kbit/s |
| 1920 × 1080 | 30 | 4.500 kbit/s |
| 1280 × 720 | 60 | 4.000 kbit/s |
| 1280 × 720 | 30 | 3.000 kbit/s |
Die den Zuschauern angebotenen Qualitäten stellen Sie unter „Configuration“, „Video“ ein. Mehrere Qualitäten lassen den Player diejenige wählen, die seine Verbindung tragen kann: Die Dokumentation empfiehlt eine zweite Qualität mit 1.000 bis 2.000 kbit/s neben einer hohen Qualität mit 4.000 bis 6.000 kbit/s, sobald Ihre erste Konfiguration getestet ist.
Passthrough reicht das eingehende Video weiter, ohne es neu zu kodieren: Es spart fast die gesamte Prozessorleistung dieser Qualität und ignoriert deren Einstellungen für Bitrate, Auflösung und Bildrate. Die Dokumentation reserviert es für fortgeschrittene Nutzer: Die Zuschauer erhalten genau das, was Ihre Software sendet, was manche Player nicht abspielen können, und die Latenz steigt. Testen Sie die Wiedergabe auf den Geräten, die Ihnen wichtig sind, bevor Sie sich darauf verlassen.
Die Latenz wird mit dem Latenzpuffer eingestellt, auf derselben Seite. Jede Stufe tauscht etwas Verzögerung gegen Stabilität, und eine Änderung gilt ab dem nächsten Stream:
| Stufe | Segmentlänge | Segmente in der Playlist | Ungefähre Latenz |
|---|---|---|---|
| 0, niedrigste | 1 Sekunde | 25 | etwa 5 Sekunden |
| 1 | 2 Sekunden | 15 | etwa 8 bis 9 Sekunden |
| 2, Standard | 3 Sekunden | 10 | etwa 10 Sekunden |
| 3 | 4 Sekunden | 8 | etwa 15 Sekunden |
| 4, höchste | 5 Sekunden | 5 | etwa 18 Sekunden |
Version 0.3.0 ergänzt außerdem auf Seiten der Zuschauer die Option „Minimize latency“ des Players, die die Wiedergabe leicht beschleunigt, um näher an die Live-Zeit heranzukommen, und eine Einstellung für die automatische Wiedergabe, standardmäßig ausgeschaltet.
Owncast kann seine Videosegmente an einen S3-kompatiblen Speicher schicken, von dem die Zuschauer sie herunterladen. Der Server liefert weiterhin die Master-Playlist, die APIs und den Chat; das Video, das fast die gesamte Bandbreite ausmacht, kommt aus dem Speicher. Ihr Server sendet dann nur noch eine Kopie jeder Qualität: im Beispiel der Dokumentation 6,5 Mbit/s für zwei Qualitäten mit 5.000 und 1.500 kbit/s, ob Sie null Zuschauer haben oder tausend. Die Prozessorlast bleibt dieselbe.
CORS oder Access-Control-Allow-Origin in der Browserkonsole kommt fast immer daher.Dieser Speicher liefert den Livestream aus, kein Archiv: Owncast löscht laufend Segmente, die älter sind als die Playlist plus ein Puffer von etwa 20 Segmenten. Der Bucket enthält nur die letzten Minuten des Streams.
Für Zuschauer in aller Welt beschreibt die Dokumentation außerdem ein Content Delivery Network (CDN) vor Owncast, mit einem eigenen Origin-Hostnamen und der Einstellung „Websocket host override“, die den Chat mit dem Ursprungsserver verbunden hält.
Der Chat wird unter „Configuration“, „Chat“ eingerichtet. Standardmäßig gibt es keine Moderatoren: Die Dokumentation schlägt vor, sich zumindest selbst dazu zu machen, über die Seite „Users“ der Administration.
Die Dokumentation weist darauf hin, dass sich eine IP-Sperre umgehen lässt, etwa mit einem VPN: Sie hält Missbrauch in Grenzen, und die Moderation bleibt die eigene Arbeit jedes Kanals. Daher der Wert benannter Moderatoren für Ihre meistgesehenen Streams.
Owncast sichert seine eigene Datenbank einmal pro Stunde, nach data/backup/owncastdb.bak. Der Parameter --backupdir ändert diesen Ordner. Das enthält der Datenordner:
| Element | Was es enthält | Im stündlichen Backup |
|---|---|---|
owncast.db | Konfiguration, Nutzer, Chatverlauf und Zugriffstoken | Ja |
backup/ | Das stündliche Backup der Datenbank | Es ist das Backup |
Eigene Emojis, public/ | Die Dateien, die Sie hinzugefügt haben | Nein |
| Plugins | Die installierten Plugins und ihre Daten, seit 0.3.0 | Nein |
| GeoIP-Daten | Woher sich die Zuschauer verbinden | Nein |
Für eine vollständige Wiederherstellung, oder um die Instanz umzuziehen, bittet die Dokumentation darum, den ganzen Ordner data zu sichern: In eine neue Installation kopiert, nimmt er alles mit. Mit Docker, bei gestopptem Dienst:
docker compose down
tar -czf owncast-$(date +%F).tar.gz data
docker compose up -d
Planen Sie diese Kopie passend zu Ihren Streams und schicken Sie sie außerhalb des Servers. Auf seiner Festplatte abgelegt, fließen diese Archive auch in seine nächtlichen Backups ein.
Eine Wiederherstellung setzt die Datenbank auf den Stand des Backups zurück: Alles, was sich seitdem geändert hat, geht verloren. Kopieren Sie zuerst die aktuelle Datenbank an einen sicheren Ort, dann:
--restoreDatabase und dem Pfad der Backup-Datei: Es stellt die Datenbank wieder her und beendet sich dann.docker compose stop
docker compose run --rm owncast --restoreDatabase data/backup/owncastdb.bak
docker compose up -d
Mit Docker nennt die Dokumentation zwei Befehle, auszuführen im Ordner der compose.yaml. Der Datenordner bleibt dabei erhalten:
docker compose pull
docker compose up -d
Mit dem Installationsprogramm beschreiben die Release Notes von 0.3.0 das Update: Stoppen Sie den Dienst, legen Sie die angepassten Dateien der Weboberfläche beiseite, führen Sie das Installationsprogramm erneut mit dem Konto aus, das Owncast betreibt, und starten Sie dann neu. Das Skript selbst legt ein Archiv des Ordners data in owncast-install-backups ab, bevor es die Version ersetzt.
sudo systemctl stop owncast
su -c "curl https://owncast.online/install.sh | bash" owncast
sudo systemctl start owncast
Version 0.3.0, erschienen am 3. September 2026, bringt Plugins, Featured Streams, die automatische Wiedergabe und die Wahl der Schnittstelle, auf der RTMP lauscht. Ihre Notizen bitten darum, die Änderungen vor dem Update zu lesen, da sie Ihre Instanz betreffen: Verfolgen Sie diese Notizen bei jeder Version und kopieren Sie den Ordner data unmittelbar davor.
Beim Selbsthosting müssen Sie neben der Anwendung auch den Server betreuen. Auf einem Managed VPS übernehmen unsere Teams den Server und betreuen Ihre Instanz proaktiv; Owncast bleibt Ihre Software, mit ihren Einstellungen und Daten.
| Thema | Unsere Teams | Sie |
|---|---|---|
| Der Server | System- und Sicherheitsupdates, Eingriffe am Server inbegriffen | Der Zeitpunkt, der zu Ihrem Betrieb passt |
| Die Überwachung | Server rund um die Uhr im Blick, mit Eingriff, ohne auf Ihren Anruf zu warten | Das Lesen der Protokolle Ihrer Instanz |
| Owncast | Proaktive Betreuung: Fehler, lange Antwortzeiten, Prozessorlast und Speicherplatz erkannt, Korrektur empfohlen | Installation, Updates und Einstellungen, die Sie umsetzen, selbst oder mit Ihrem KI-Assistenten |
| Die Streams und der Chat | Der Server, der sie trägt, überwacht und gesichert | Die Stream-Schlüssel, die Videoqualitäten, die Moderatoren und die Chatregeln |
| Die Backups | Jede Nacht, verschlüsselt und außerhalb der Maschine aufbewahrt; Wiederherstellung inbegriffen | Die eigenen Kopien von Owncast und die Wiederherstellungsanfrage, wenn Sie sie brauchen |
| Die Migration | Ihr aktueller Server wird kostenlos migriert | Der Zeitpunkt der Umstellung |
Wenn unsere Teams lieber in der Anwendung selbst eingreifen sollen, wird diese Leistung nach Stunden oder pauschal abgerechnet, mit einem Kostenvoranschlag vor dem Eingriff.
Mit einem Managed VPS von Simafri halten unsere Teams den Server Ihrer Owncast-Instanz aktuell, überwachen ihn Tag und Nacht und greifen ein, ohne auf Ihren Anruf zu warten; sie betreuen auch Ihre Instanz proaktiv und empfehlen Ihnen die sinnvollen Korrekturen, die Sie umsetzen, selbst oder mit Ihrem KI-Assistenten. Die Backups werden jede Nacht verschlüsselt und außerhalb der Maschine aufbewahrt, ihre Wiederherstellung ist inbegriffen, und die Migration Ihres aktuellen Servers ist kostenlos.
Ja. Owncast steht unter der MIT-Lizenz: Sie können es im Unternehmen nutzen, ändern und weitergeben, ohne eine Lizenz zu kaufen, sofern Sie seinen Urheberrechtshinweis beibehalten. Bleiben die Kosten für den Server, auf dem es läuft.
Das hängt von den Qualitäten ab, die Sie anbieten. Als grobe Faustregel rechnet die Dokumentation mit einem Kern pro transkodierter Qualität bei 30 Bildern pro Sekunde und fast nichts für eine Qualität im Passthrough. Die Zahl der Zuschauer ändert die Prozessorlast nicht.
Die Spitzenrate entspricht der Bitrate des Streams mal der Zahl der Zuschauer: 25 Zuschauer bei 5.000 kbit/s brauchen 125 Mbit/s ausgehend. Ein S3-kompatibler Objektspeicher kann das Video an Stelle des Servers ausliefern, der dann nur noch eine Kopie jeder Qualität sendet.
Legen Sie eine compose.yaml mit dem Image owncast/owncast an, mit Port 8080 auf 127.0.0.1 veröffentlicht, Port 1935 für RTMP und einem auf /app/data eingebundenen Datenordner, und starten Sie docker compose up -d. Stellen Sie dann einen Reverse Proxy mit HTTPS vor Port 8080.
Die Administration unter /admin öffnet sich mit dem Benutzernamen admin und dem Passwort abc123, und der Stream-Schlüssel lautet ebenfalls abc123. Das sind zwei getrennte Einstellungen: Ändern Sie beide bei der ersten Anmeldung, unter Configuration, Server Setup.
Wählen Sie in OBS einen benutzerdefinierten Dienst und geben Sie rtmp://your-server:1935/live und Ihren Stream-Schlüssel ein. Senden Sie H.264-Video und AAC-Ton, mit einem Keyframe alle 2 Sekunden.
Owncast sichert seine Datenbank jede Stunde nach data/backup/owncastdb.bak. Dieses Backup umfasst nur die Datenbank: Für eine vollständige Wiederherstellung kopieren Sie den ganzen Ordner data außerhalb des Servers. Die Wiederherstellung erfolgt mit dem Parameter --restoreDatabase.
Ein Managed VPS deckt den Server ab: System, Sicherheit, Überwachung und Backups. Unsere Teams betreuen auch Ihre Instanz proaktiv und empfehlen Ihnen die sinnvollen Korrekturen, die Sie umsetzen. Ein Eingriff in der Anwendung wird nach Stunden oder pauschal abgerechnet.
Simafri
Sprechen wir über Ihr Vorhaben
Sagen Sie uns in wenigen Worten, was Sie brauchen: Wir melden uns schnell bei Ihnen.
Vielen Dank! Ihre Anfrage wurde gesendet. Wir melden uns in Kürze bei Ihnen.
Sie schreiben lieber eine E-Mail? Schreiben Sie uns an support@simafri.com.