Owncast hosten op een Managed VPS betekent dat u uw live video uitzendt en de chat ervan beheert vanaf een machine die van u is, en die ons team bijwerkt en dag en nacht in de gaten houdt. Owncast is vrije software onder de MIT-licentie. Deze gids volgt de officiële documentatie: de CPU en bandbreedte waarmee u rekent, de installatie met Docker Compose, de streamsleutel, HTTPS, de videokwaliteiten, objectopslag, de chat, back-ups en updates.
Door Simon Vasconcelos Lee
Gepubliceerd op 14 november 2026Leestijd: 15 minuten
owncast/owncast, die ffmpeg meelevert, webpoort 8080 achter een reverse proxy met HTTPS, en RTMP-poort 1935 voor uw uitzendsoftware.abc123.data buiten de server voor een volledig herstel, en werk bij met docker compose pull.Owncast is een opensource, zelf gehoste server voor live video en chat voor één gebruiker: één instantie draagt het kanaal van één persoon of organisatie. De README stelt het voor als een manier om uw eigen livestreams te verzorgen, in de stijl van de grote bekende platformen, terwijl u eigenaar blijft van uw inhoud, interface, moderatie en publiek.
/hls/stream.m3u8.Owncast wordt gepubliceerd onder de MIT-licentie. Die kent kosteloos het recht toe om kopieën van de software te gebruiken, te kopiëren, te wijzigen, samen te voegen, te publiceren, te verspreiden, in sublicentie te geven en te verkopen. U kunt het dus draaien voor uw bedrijf, uw community of uw klanten, zonder een licentie te kopen.
De enige voorwaarde is dat u de copyrightvermelding en de tekst van de licentie behoudt in alle kopieën of wezenlijke delen van de software. De tekst levert de software “zoals hij is”, zonder garantie.
De documentatie zegt het meteen: de behoeften hangen af van uw configuratie. Ze geeft wel een duidelijke regel om ze te schatten. De CPU transcodeert de video naar de kwaliteiten die u aanbiedt; de bandbreedte levert hem aan elke kijker.
De documentatie geeft twee formules. Het volume van een stream, in gigabytes: bitrate in kbps × duur in seconden × kijkers ÷ 8.000.000. De piekdoorvoer naar buiten die u moet aanhouden, in Mbps: bitrate in kbps × kijkers ÷ 1.000. Met meerdere kwaliteiten berekent u elke kwaliteit apart en telt u ze op. Haar schattingen voor een stream van twee uur:
| Bitrate van de stream | 10 kijkers | 25 kijkers | 50 kijkers |
|---|---|---|---|
| 2.000 kbps | 18 GB, 20 Mbps | 45 GB, 50 Mbps | 90 GB, 100 Mbps |
| 4.000 kbps | 36 GB, 40 Mbps | 90 GB, 100 Mbps | 180 GB, 200 Mbps |
| 6.000 kbps | 54 GB, 60 Mbps | 135 GB, 150 Mbps | 270 GB, 300 Mbps |
Op een Simafri-VPS heeft het verkeer geen maandelijkse teller: uw streams worden gedimensioneerd op hun piekbitrate. Groeit uw publiek, dan levert objectopslag, verderop behandeld, de video in plaats van de server.
De documentatie geeft gemeten referentiepunten, en merkt op dat ze variëren met de codec, de bitrate, de resolutie en de preset van de encoder:
| Configuratie | CPU-belasting |
|---|---|
| Eén passthrough-kwaliteit, zonder hercodering | Minimaal |
| Eén getranscodeerde kwaliteit | Licht |
| Twee kwaliteiten, hoog en laag | Gemiddeld |
| Drie kwaliteiten, of sterke compressie | Zwaar |
De documentatie noemt geen cijfer voor het geheugen, en de schijf telt weinig: de videosegmenten worden geschreven en daarna verwijderd naarmate de stream vordert. Alleen de map data groeit met de tijd. Op een VPS doet de CPU de codering: elke getranscodeerde kwaliteit wordt in vCPU's gedimensioneerd. Vertel ons op een managed VPS over uw streams, hun bitrate, hun kwaliteiten en uw publiek, dan raden wij u de passende grootte aan.
Voordat de stream de server bereikt, vertrekt hij vanaf uw eigen verbinding. De documentatie vraagt een uploadsnelheid van minstens 1,5 keer de bitrate van de stream: 7,5 Mbps voor een stream van 5.000 kbps. Ze raadt een bekabelde verbinding aan boven wifi.
De documentatie biedt de image owncast/owncast op Docker Hub aan, die ffmpeg bevat, het coderingsprogramma dat Owncast nodig heeft. Maak op een server waar Docker is geïnstalleerd een map aan en plaats daarin dit compose.yaml, overgenomen uit de documentatie:
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: dit is de enige wijziging ten opzichte van het voorbeeld uit de documentatie, dat beide poorten publiceert. De pagina over reverse proxy's vraagt Owncast niet rechtstreeks aan het internet bloot te stellen, omdat het standaard op elke interface luistert, en Docker publiceert een poort op alle adressen van de server wanneer u er geen opgeeft. De webinterface is dan alleen via de reverse proxy bereikbaar.data bewaart de database en haar back-ups op de server, buiten de container: dit is wat u back-upt en verhuist.latest volgt de recentste versie; 0.3.0 legt een versie vast.De andere weg uit de documentatie is een script dat de laatste versie van Owncast voor uw platform downloadt, en ffmpeg als dat er nog niet is. Het installeert alles in een map owncast onder de huidige map. De documentatie raadt af het als root uit te voeren en beveelt aan elk script op afstand te lezen voordat u het uitvoert:
curl -s https://owncast.online/install.sh | bash
Wilt u dat Owncast met de server opstart en na een crash vanzelf herstart, dan levert de documentatie een systemd-dienst, aan te passen aan de map en het account die u koos:
[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
Het beheer staat op /admin. Owncast start met toegangsgegevens die iedereen kent, en de documentatie vraagt ze bij uw eerste aanmelding te wijzigen:
| Instelling | Standaardwaarde | Waarvoor ze dient |
|---|---|---|
| Gebruikersnaam van het beheer | admin | Aanmelden op /admin |
| Beheerderswachtwoord | abc123 | Aanmelden op /admin |
| Streamsleutel | abc123 | De stream publiceren vanuit uw uitzendsoftware |
Om deze wijziging te doen voordat de interface voor het publiek openstaat, gaat u via een SSH-tunnel: poort 8080 van de server verschijnt dan op uw computer, op http://localhost:8080/admin. Voeg -p en de SSH-poort toe die in uw klantenzone staat.
ssh -L 8080:127.0.0.1:8080 user@live.example.com
!@#$%^&*, en nergens een koppelteken.--adminpassword, die het in de database opslaat.Het beheerderswachtwoord en de streamsleutel starten allebei als abc123, maar het zijn twee aparte instellingen: wijzig ze allebei.
Owncast regelt HTTPS niet zelf. De documentatie zet er een reverse proxy voor, die op de poorten 80 en 443 luistert, het certificaat verkrijgt, het verkeer versleutelt en het onversleuteld doorgeeft aan Owncast op poort 8080. Zonder HTTPS markeren browsers de pagina als niet beveiligd, en een pagina die via HTTPS wordt aangeboden, kan uw video of uw chat niet insluiten.
/ws, die de chat draagt. Een proxy die haar blokkeert, schakelt de chat uit.X-Forwarded-For om het IP-adres te blokkeren van een gebruiker die uit de chat is verbannen. De documentatie vraagt dat de proxy deze header zelf zet.De documentatie stelt Caddy voor als u geen andere voorkeur hebt: het verkrijgt zelf een Let's Encrypt-certificaat en geeft WebSocket door zonder extra instelling. Hier is haar Caddyfile-voorbeeld, waarin de regel tls het e-mailadres van het Let's Encrypt-account opgeeft:
live.example.com {
encode gzip
reverse_proxy 127.0.0.1:8080
tls contact@example.com
}
Bij Nginx legt de documentatie de nadruk op WebSocket: wie het vergeet, schakelt de chat uit. Voeg dit blok map toe aan de sectie http van /etc/nginx/nginx.conf:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
Dit siteblok volgt dat uit de documentatie, op poort 80 zodat Certbot HTTPS kan plaatsen:
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 aanvaardt elke software die via RTMP naar een externe server uitzendt. De sleutel wordt alleen aanvaard op het pad /live. In OBS:
rtmp://live.example.com:1935/live in.Software zonder veld voor de sleutel aanvaardt het volledige adres, rtmp://live.example.com:1935/live/your-key.
Op een Simafri-VPS kan het IPv6-adres van de server elke poort openen die u kiest: uw uitzendsoftware bereikt poort 1935 via dat adres, onder een naam die het record AAAA draagt. Op een IPv4-netwerk van Docker, zoals hier, koppelt Docker de poort op het IPv6-adres van de server aan de container. Open die poort als ufw actief is, en test daarna vanaf uw computer:
sudo ufw allow 1935/tcp
nc -6 -vz live.example.com 1935
Voor elke andere behoefte vertelt u ons wat u voor ogen hebt, en bekijken wij de adressering samen met u.
2.| Resolutie | Beelden per seconde | Aanbevolen bitrate |
|---|---|---|
| 1920 × 1080 | 60 | 5.000 kbps |
| 1920 × 1080 | 30 | 4.500 kbps |
| 1280 × 720 | 60 | 4.000 kbps |
| 1280 × 720 | 30 | 3.000 kbps |
De kwaliteiten die kijkers krijgen, stelt u in bij “Configuration”, “Video”. Met meerdere kwaliteiten kiest de speler de kwaliteit die zijn verbinding aankan: de documentatie raadt een tweede kwaliteit aan, van 1.000 tot 2.000 kbps, naast een hoge kwaliteit van 4.000 tot 6.000 kbps, zodra uw eerste configuratie getest is.
Passthrough geeft de binnenkomende video door zonder hem opnieuw te coderen: het bespaart vrijwel alle CPU van die kwaliteit, en negeert haar instellingen voor bitrate, resolutie en framerate. De documentatie behoudt het voor gevorderde gebruikers: kijkers ontvangen precies wat uw software stuurt, wat sommige spelers niet kunnen afspelen, en de latentie neemt toe. Test het afspelen op de toestellen die voor u tellen voordat u erop rekent.
De latentie stelt u in met de latentiebuffer, op dezelfde pagina. Elk niveau ruilt een beetje vertraging in voor stabiliteit, en een wijziging geldt vanaf de volgende stream:
| Niveau | Lengte van een segment | Segmenten in de playlist | Geschatte latentie |
|---|---|---|---|
| 0, het laagst | 1 seconde | 25 | ongeveer 5 seconden |
| 1 | 2 seconden | 15 | ongeveer 8 tot 9 seconden |
| 2, standaard | 3 seconden | 10 | ongeveer 10 seconden |
| 3 | 4 seconden | 8 | ongeveer 15 seconden |
| 4, het hoogst | 5 seconden | 5 | ongeveer 18 seconden |
Versie 0.3.0 voegt aan de kant van de kijker ook de optie “Minimize latency” van de speler toe, die het afspelen iets versnelt om dichter bij live te komen, en een instelling voor automatisch afspelen, standaard uitgeschakeld.
Owncast kan zijn videosegmenten naar S3-compatibele opslag sturen, waar de kijkers ze downloaden. De server levert nog altijd de hoofdplaylist, de API's en de chat; de video, die vrijwel alle bandbreedte uitmaakt, komt uit de opslag. Uw server stuurt dan nog maar één kopie van elke kwaliteit: in het voorbeeld uit de documentatie 6,5 Mbps voor twee kwaliteiten van 5.000 en 1.500 kbps, of u nu nul kijkers hebt of duizend. De CPU-belasting blijft dezelfde.
CORS of Access-Control-Allow-Origin in de console van de browser komt bijna altijd daarvandaan.Deze opslag levert de livestream, geen archief: Owncast verwijdert gaandeweg de segmenten die ouder zijn dan de playlist plus een buffer van ongeveer 20 segmenten. De bucket bevat alleen de laatste minuten van de stream.
Voor kijkers verspreid over de wereld beschrijft de documentatie ook een content delivery network (CDN) dat voor Owncast wordt geplaatst, met een aparte hostnaam voor de oorsprong en de instelling “Websocket host override”, die de chat verbonden houdt met de oorspronkelijke server.
De chat stelt u in bij “Configuration”, “Chat”. Standaard zijn er geen moderators: de documentatie stelt voor uzelf er op zijn minst een te maken, vanaf de pagina “Users” van het beheer.
De documentatie wijst erop dat de blokkering op IP-adres te omzeilen is, met een VPN bijvoorbeeld: ze beperkt misbruik, en de moderatie blijft het eigen werk van elk kanaal. Vandaar het nut van aangewezen moderators voor uw meest bekeken streams.
Owncast maakt zelf elk uur een back-up van zijn database, naar data/backup/owncastdb.bak. De vlag --backupdir wijzigt die map. Dit bevat de gegevensmap:
| Onderdeel | Wat het bewaart | In de back-up van elk uur |
|---|---|---|
owncast.db | De configuratie, de gebruikers, de chatgeschiedenis en de toegangstokens | Ja |
backup/ | De back-up van de database van elk uur | Het is de back-up zelf |
Eigen emoji, public/ | De bestanden die u hebt toegevoegd | Nee |
| De plug-ins | De geïnstalleerde plug-ins en hun gegevens, sinds 0.3.0 | Nee |
| De GeoIP-gegevens | Vanwaar de kijkers verbinding maken | Nee |
Voor een volledig herstel, of om de instantie te verhuizen, vraagt de documentatie de hele map data te back-uppen: wie haar naar een nieuwe installatie kopieert, neemt alles mee. Met Docker, met de dienst gestopt:
docker compose down
tar -czf owncast-$(date +%F).tar.gz data
docker compose up -d
Plan deze kopie in op het ritme van uw streams, en stuur haar buiten de server. Staan deze archieven op de schijf van de server, dan vallen ze ook onder de nachtelijke back-ups.
Terugzetten brengt de database terug naar het moment van de back-up: alles wat sindsdien is gewijzigd, gaat verloren. Kopieer eerst de huidige database naar een veilige plek, en daarna:
--restoreDatabase en het pad van het back-upbestand: het zet de database terug en stopt daarna.docker compose stop
docker compose run --rm owncast --restoreDatabase data/backup/owncastdb.bak
docker compose up -d
Met Docker geeft de documentatie twee opdrachten, uit te voeren vanuit de map van compose.yaml. De gegevensmap blijft ongemoeid:
docker compose pull
docker compose up -d
Met het installatieprogramma beschrijven de release-opmerkingen van 0.3.0 de update: stop de dienst, zet de bestanden van de webinterface die u hebt aangepast opzij, voer het installatieprogramma opnieuw uit met het account dat Owncast draait, en start daarna opnieuw. Het script zelf bewaart een archief van de map data in owncast-install-backups voordat het de versie vervangt.
sudo systemctl stop owncast
su -c "curl https://owncast.online/install.sh | bash" owncast
sudo systemctl start owncast
Versie 0.3.0, uitgebracht op 3 september 2026, brengt de plug-ins, Featured Streams, het automatisch afspelen en de keuze van de interface waarop RTMP luistert. De opmerkingen ervan vragen de wijzigingen te lezen vóór de update, omdat ze uw instantie raken: volg deze opmerkingen bij elke versie, en kopieer de map data vlak ervoor.
Self-hosting vraagt dat u naast de applicatie ook de server beheert. Op een managed VPS neemt ons team de server voor zijn rekening en houdt het uw instantie proactief in de gaten; Owncast blijft uw software, met zijn instellingen en gegevens.
| Onderwerp | Ons team | U |
|---|---|---|
| De server | Systeem- en beveiligingsupdates, ingrepen op de server inbegrepen | Het moment dat bij uw activiteit past |
| De monitoring | Server 24 uur per dag en 7 dagen per week bewaakt, met ingrijpen zonder op uw oproep te wachten | Het lezen van de logboeken van uw instantie |
| Owncast | Proactief toezicht: fouten, vertragingen, CPU-belasting en schijfruimte opgespoord, correctie aangeraden | De installatie, de updates en de instellingen, die u toepast, zelf of via uw AI-assistent |
| De streams en de chat | De server die ze draagt, bewaakt en geback-upt | De streamsleutels, de videokwaliteiten, de moderators en de regels van de chat |
| De back-ups | Elke nacht, versleuteld en buiten de machine bewaard; terugzetten inbegrepen | De eigen kopieën van Owncast, en het verzoek om terug te zetten, wanneer u dat nodig hebt |
| De migratie | Uw huidige server gemigreerd, gratis | Het moment van de overschakeling |
Wilt u liever dat ons team in de applicatie zelf ingrijpt, dan wordt die dienstverlening per uur of tegen een vast bedrag gefactureerd, met een offerte voordat het werk begint.
Met een Managed VPS van Simafri houdt ons team de server van uw Owncast-instantie up-to-date, bewaakt hem dag en nacht en grijpt in zonder op uw oproep te wachten; het houdt ook uw instantie proactief in de gaten en raadt u de nuttige correcties aan, die u toepast, zelf of via uw AI-assistent. De back-ups worden elke nacht versleuteld en buiten de machine bewaard, het terugzetten is inbegrepen, en de migratie van uw huidige server is gratis.
Ja. Owncast valt onder de MIT-licentie: u mag het in een bedrijf gebruiken, wijzigen en verspreiden zonder een licentie te kopen, op voorwaarde dat u de copyrightvermelding behoudt. Wat overblijft, zijn de kosten van de server waarop het draait.
Dat hangt af van de kwaliteiten die u aanbiedt. Als ruwe vuistregel rekent de documentatie één kern per getranscodeerde kwaliteit bij 30 beelden per seconde, en vrijwel niets voor een passthrough-kwaliteit. Het aantal kijkers verandert de CPU-belasting niet.
De piekdoorvoer is gelijk aan de bitrate van de stream maal het aantal kijkers: 25 kijkers op 5.000 kbps vragen 125 Mbps naar buiten. S3-compatibele objectopslag kan de video leveren in plaats van de server, die dan nog maar één kopie van elke kwaliteit stuurt.
Maak een compose.yaml met de image owncast/owncast, poort 8080 gepubliceerd op 127.0.0.1, poort 1935 voor RTMP en een map data gekoppeld op /app/data, en voer docker compose up -d uit. Zet daarna een reverse proxy met HTTPS voor poort 8080.
Het beheer, op /admin, opent met de gebruikersnaam admin en het wachtwoord abc123, en ook de streamsleutel is abc123. Het zijn twee aparte instellingen: wijzig ze allebei bij uw eerste aanmelding, in Configuration, Server Setup.
Kies in OBS een aangepaste dienst, voer rtmp://uw-server:1935/live en uw streamsleutel in. Stuur H.264-video en AAC-audio, met een keyframe om de 2 seconden.
Owncast maakt elk uur een back-up van zijn database naar data/backup/owncastdb.bak. Die back-up dekt alleen de database: kopieer voor een volledig herstel de hele map data buiten de server. Terugzetten gebeurt met de vlag --restoreDatabase.
Een managed VPS dekt de server: systeem, beveiliging, monitoring en back-ups. Ons team houdt ook uw instantie proactief in de gaten en raadt u de nuttige correcties aan, die u toepast. Een ingreep in de applicatie wordt per uur of tegen een vast bedrag gefactureerd.
Simafri
Laten we het over uw website hebben
Vertel ons in een paar woorden over uw project: wij nemen snel contact met u op.
Bedankt! Uw aanvraag is verzonden. We nemen spoedig contact met u op.
Liever per e-mail? Schrijf ons op support@simafri.com.