Att hosta Owncast på en Managed VPS innebär att du sänder din livevideo och driver dess chatt från en egen maskin, som våra team håller uppdaterad och bevakar dag och natt. Owncast är fri programvara under MIT-licensen. Den här guiden följer den officiella dokumentationen: processorn och bandbredden att planera för, installation med Docker Compose, strömningsnyckeln, HTTPS, videokvaliteterna, objektlagring, chatten, säkerhetskopior och uppdateringar.
Av Simon Vasconcelos Lee
Publicerad den 14 november 2026Lästid: 15 minuter
owncast/owncast, som levereras med ffmpeg, webbporten 8080 bakom en omvänd proxy med HTTPS och RTMP-porten 1935 för ditt sändningsprogram.abc123 som standard.data utanför servern för en fullständig återställning, och uppdatera med docker compose pull.Owncast är en självhostad server med öppen källkod för livevideo och chatt, för en enda användare: en instans bär kanalen för en person eller en organisation. README-filen presenterar den som ett sätt att driva dina egna livesändningar, i stil med de stora etablerade plattformarna, samtidigt som du behåller äganderätten till ditt innehåll, ditt gränssnitt, din moderering och din publik.
/hls/stream.m3u8.Owncast publiceras under MIT-licensen. Den ger, kostnadsfritt, rätt att använda, kopiera, ändra, slå samman, publicera, distribuera, underlicensiera och sälja kopior av programvaran. Du kan alltså köra den för ditt företag, din gemenskap eller dina kunder, utan att köpa någon licens.
Det enda villkoret är att behålla upphovsrättsmeddelandet och licenstexten i alla kopior eller väsentliga delar av programvaran. Texten tillhandahåller programvaran ”i befintligt skick”, utan garanti.
Dokumentationen säger det direkt: kraven beror på din konfiguration. Den ger däremot en tydlig regel för att uppskatta dem. Processorn kodar om videon till de kvaliteter du erbjuder; bandbredden levererar den till varje tittare.
Dokumentationen ger två formler. Volymen för en sändning, i gigabyte: bithastighet i kbit/s × längd i sekunder × tittare ÷ 8 000 000. Den högsta utgående hastigheten att klara, i Mbit/s: bithastighet i kbit/s × tittare ÷ 1 000. Med flera kvaliteter räknar du ut var och en och lägger ihop dem. Dess uppskattningar för en sändning på två timmar:
| Strömmens bithastighet | 10 tittare | 25 tittare | 50 tittare |
|---|---|---|---|
| 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 |
På en VPS från Simafri har trafiken ingen månadsmätare: dina sändningar dimensioneras efter sin högsta bithastighet. När din publik växer serverar objektlagringen, som tas upp längre ned, videon i stället för servern.
Dokumentationen ger uppmätta riktmärken och påpekar att de varierar med kodek, bithastighet, upplösning och kodarens förinställning:
| Konfiguration | Processorns belastning |
|---|---|
| En enda kvalitet i passthrough, ingen omkodning | Minimal |
| En enda omkodad kvalitet | Lätt |
| Två kvaliteter, hög och låg | Måttlig |
| Tre kvaliteter, eller hård komprimering | Tung |
Dokumentationen anger ingen siffra för minnet, och disken spelar liten roll: videosegmenten skrivs och tas sedan bort under sändningens gång. Bara mappen data växer med tiden. På en VPS är det processorn som kodar: varje omkodad kvalitet dimensioneras i vCPU. På en Managed VPS berättar du om dina sändningar, deras bithastighet, deras kvaliteter och din publik, så rekommenderar vi lämplig storlek.
Innan strömmen når servern lämnar den din egen anslutning. Dokumentationen begär en uppladdningshastighet på minst 1,5 gånger strömmens bithastighet: 7,5 Mbit/s för en ström på 5 000 kbit/s. Den rekommenderar en trådbunden anslutning framför wifi.
Dokumentationen erbjuder avbilden owncast/owncast på Docker Hub, som innehåller ffmpeg, det kodningsverktyg som Owncast behöver. På en server där Docker är installerat skapar du en mapp och lägger denna compose.yaml i den, hämtad från dokumentationen:
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: det är den enda ändringen jämfört med dokumentationens exempel, som publicerar båda portarna. Dess sida om omvänd proxy ber dig att hålla Owncast borta från internet, eftersom den som standard lyssnar på alla gränssnitt, och Docker publicerar en port på alla serverns adresser när ingen anges. Webbgränssnittet nås då bara via den omvända proxyn.data håller databasen och dess säkerhetskopior på servern, utanför containern: det är den du säkerhetskopierar och flyttar.latest följer den senaste versionen; 0.3.0 låser en version.Dokumentationens andra väg är ett skript som laddar ned den senaste versionen av Owncast för din plattform, och ffmpeg om det inte redan finns. Det installerar allt i en mapp owncast under den aktuella. Dokumentationen avråder från att köra det som root och rekommenderar att läsa varje fjärrskript innan du kör det:
curl -s https://owncast.online/install.sh | bash
För att Owncast ska starta med servern och starta om av sig själv efter en krasch tillhandahåller dokumentationen en systemd-tjänst, att anpassa efter mappen och kontot du har valt:
[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
Administrationen finns på /admin. Owncast startar med inloggningsuppgifter som alla känner till, och dokumentationen ber dig att byta dem vid din första inloggning:
| Inställning | Standardvärde | Vad den gör |
|---|---|---|
| Administratörens användarnamn | admin | Inloggningen på /admin |
| Administratörslösenord | abc123 | Inloggningen på /admin |
| Strömningsnyckel | abc123 | Publiceringen av strömmen från ditt sändningsprogram |
För att göra ändringen innan gränssnittet är öppet för allmänheten går du via en SSH-tunnel: serverns port 8080 dyker upp på din dator, på http://localhost:8080/admin. Lägg till -p och den SSH-port som visas i din kundzon.
ssh -L 8080:127.0.0.1:8080 user@live.example.com
!@#$%^&*, och inget bindestreck någonstans.--adminpassword, som sparar det i databasen.Administratörslösenordet och strömningsnyckeln är båda abc123 från början, men de är två separata inställningar: byt båda.
Owncast hanterar inte HTTPS själv. Dokumentationen sätter en omvänd proxy framför den, som lyssnar på port 80 och 443, hämtar certifikatet, krypterar trafiken och vidarebefordrar den okrypterad till Owncast på port 8080. Utan HTTPS markerar webbläsarna sidan som osäker, och en sida som serveras med HTTPS kan inte bädda in din video eller din chatt.
/ws, som bär chatten. En proxy som blockerar den stänger av chatten.X-Forwarded-For för att blockera IP-adressen för en användare som stängts av från chatten. Dokumentationen begär att proxyn själv sätter det huvudet.Dokumentationen föreslår Caddy om du inte har någon annan preferens: den hämtar ett certifikat från Let’s Encrypt på egen hand och vidarebefordrar WebSocket utan någon extra inställning. Här är dess Caddyfile-exempel, där raden tls anger e-postadressen för Let’s Encrypt-kontot:
live.example.com {
encode gzip
reverse_proxy 127.0.0.1:8080
tls contact@example.com
}
Med Nginx betonar dokumentationen WebSocket: att glömma det är det som stänger av chatten. Lägg till det här blocket map i avsnittet http i /etc/nginx/nginx.conf:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
Det här webbplatsblocket följer dokumentationens, på port 80 så att Certbot kan installera HTTPS:
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 tar emot alla program som sänder över RTMP till en fjärrserver. Nyckeln godtas bara på sökvägen /live. I OBS:
rtmp://live.example.com:1935/live.Ett program utan fält för nyckeln godtar den fullständiga adressen, rtmp://live.example.com:1935/live/your-key.
På en VPS från Simafri kan serverns IPv6-adress öppna vilken port du vill: ditt sändningsprogram når port 1935 via den adressen, under ett namn som bär posten AAAA. På ett Docker-nätverk i IPv4, som här, kopplar Docker porten på serverns IPv6-adress till containern. Öppna den porten om ufw är aktivt och testa sedan från din dator:
sudo ufw allow 1935/tcp
nc -6 -vz live.example.com 1935
För alla andra behov berättar du vad du har i tankarna, så går vi igenom adresseringen tillsammans med dig.
2.| Upplösning | Bilder per sekund | Föreslagen bithastighet |
|---|---|---|
| 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 |
De kvaliteter som erbjuds tittarna ställs in under ”Configuration”, ”Video”. Flera kvaliteter låter spelaren välja den som dess anslutning klarar: dokumentationen rekommenderar en andra kvalitet, på 1 000 till 2 000 kbit/s, bredvid en hög kvalitet på 4 000 till 6 000 kbit/s, när din första konfiguration har testats.
Passthrough skickar vidare den inkommande videon utan att koda om den: det sparar nästan all processorkraft för den kvaliteten och bortser från dess inställningar för bithastighet, upplösning och bildfrekvens. Dokumentationen reserverar det för vana användare: tittarna får exakt det som ditt program skickar, vilket vissa spelare inte kan spela upp, och fördröjningen ökar. Testa uppspelningen på de enheter som är viktiga för dig innan du förlitar dig på det.
Fördröjningen ställs in med fördröjningsbufferten, på samma sida. Varje nivå byter lite fördröjning mot stabilitet, och en ändring gäller från nästa sändning:
| Nivå | Segmentets längd | Segment i spellistan | Ungefärlig fördröjning |
|---|---|---|---|
| 0, lägst | 1 sekund | 25 | ungefär 5 sekunder |
| 1 | 2 sekunder | 15 | ungefär 8 till 9 sekunder |
| 2, standard | 3 sekunder | 10 | ungefär 10 sekunder |
| 3 | 4 sekunder | 8 | ungefär 15 sekunder |
| 4, högst | 5 sekunder | 5 | ungefär 18 sekunder |
Version 0.3.0 lägger också till, på tittarsidan, spelarens alternativ ”Minimize latency”, som snabbar upp uppspelningen något för att komma närmare direktsändningen, och en inställning för automatisk uppspelning, avstängd som standard.
Owncast kan skicka sina videosegment till en S3-kompatibel lagring, som tittarna laddar ned dem från. Servern serverar fortfarande huvudspellistan, API:erna och chatten; videon, som står för nästan all bandbredd, kommer från lagringen. Din server skickar då bara en kopia av varje kvalitet: i dokumentationens exempel 6,5 Mbit/s för två kvaliteter på 5 000 och 1 500 kbit/s, oavsett om du har noll tittare eller tusen. Processorns belastning förblir densamma.
CORS eller Access-Control-Allow-Origin i webbläsarens konsol kommer nästan alltid därifrån.Den här lagringen serverar direktsändningen, inte ett arkiv: Owncast tar efter hand bort segment som är äldre än spellistan plus en buffert på ungefär 20 segment. Bucketen innehåller bara de sista minuterna av sändningen.
För tittare spridda över världen beskriver dokumentationen också ett nätverk för innehållsleverans (CDN) framför Owncast, med ett separat värdnamn för ursprunget och inställningen ”Websocket host override”, som håller chatten ansluten till ursprungsservern.
Chatten ställs in under ”Configuration”, ”Chat”. Som standard finns inga moderatorer: dokumentationen föreslår att du åtminstone gör dig själv till en, från sidan ”Users” i administrationen.
Dokumentationen påpekar att IP-blockering går att kringgå, med en VPN till exempel: den håller nere missbruket, och modereringen förblir varje kanals eget arbete. Därav värdet av utsedda moderatorer för dina mest sedda sändningar.
Owncast säkerhetskopierar själv sin databas en gång i timmen, till data/backup/owncastdb.bak. Flaggan --backupdir ändrar den mappen. Så här ser datamappen ut:
| Del | Vad den innehåller | I säkerhetskopian varje timme |
|---|---|---|
owncast.db | Konfigurationen, användarna, chatthistoriken och åtkomsttoken | Ja |
backup/ | Databasens säkerhetskopia varje timme | Det är säkerhetskopian |
Egna emojier, public/ | Filer som du har lagt till | Nej |
| Insticksprogrammen | Installerade insticksprogram och deras data, sedan 0.3.0 | Nej |
| GeoIP-data | Varifrån tittarna ansluter | Nej |
För en fullständig återställning, eller för att flytta instansen, ber dokumentationen dig att säkerhetskopiera hela mappen data: att kopiera den till en ny installation för över allt. Med Docker, med tjänsten stoppad:
docker compose down
tar -czf owncast-$(date +%F).tar.gz data
docker compose up -d
Schemalägg den här kopian efter dina sändningar, och skicka den utanför servern. Lagda på dess disk ingår de här arkiven också i dess nattliga säkerhetskopior.
En återställning för databasen tillbaka till tidpunkten för säkerhetskopian: allt som ändrats sedan dess går förlorat. Kopiera först den nuvarande databasen till en säker plats, och sedan:
--restoreDatabase och sökvägen till säkerhetskopian: programmet återställer databasen och avslutas sedan.docker compose stop
docker compose run --rm owncast --restoreDatabase data/backup/owncastdb.bak
docker compose up -d
Med Docker anger dokumentationen två kommandon, som körs från mappen med compose.yaml. Datamappen ligger kvar:
docker compose pull
docker compose up -d
Med installationsprogrammet beskriver versionsanteckningarna för 0.3.0 uppdateringen: stoppa tjänsten, lägg undan de filer i webbgränssnittet som du har anpassat, kör installationsprogrammet igen som det konto som kör Owncast och starta sedan om. Skriptet sparar självt ett arkiv av mappen data i owncast-install-backups innan versionen ersätts.
sudo systemctl stop owncast
su -c "curl https://owncast.online/install.sh | bash" owncast
sudo systemctl start owncast
Version 0.3.0, utgiven den 3 september 2026, inför insticksprogram, Featured Streams, automatisk uppspelning och valet av det gränssnitt som RTMP lyssnar på. Dess anteckningar ber dig att läsa ändringarna innan du uppdaterar, eftersom de påverkar din instans: följ anteckningarna vid varje version och kopiera mappen data strax innan.
Att självhosta innebär att sköta servern utöver applikationen. På en Managed VPS tar våra team hand om servern och följer din instans proaktivt; Owncast förblir din programvara, med sina inställningar och sina data.
| Område | Våra team | Du |
|---|---|---|
| Servern | Uppdateringar av system och säkerhet, ingrepp på servern inräknade | Tidpunkten som passar din verksamhet |
| Övervakningen | Servern följs dygnet runt, alla dagar, med ingrepp utan att vänta på ditt samtal | Läsningen av din instans loggar |
| Owncast | Proaktiv uppföljning: fel, långsamma svarstider, processorns belastning och diskutrymme upptäcks, med rekommenderad rättelse | Installationen, uppdateringarna och inställningarna, som du genomför själv eller med din AI-assistent |
| Sändningarna och chatten | Servern som bär dem, övervakad och säkerhetskopierad | Strömningsnycklarna, videokvaliteterna, moderatorerna och chattens regler |
| Säkerhetskopiorna | Varje natt, krypterade och förvarade utanför maskinen; återställning ingår | Owncasts egna kopior och begäran om återställning, när du behöver den |
| Migreringen | Din nuvarande server migreras kostnadsfritt | Tidpunkten för bytet |
Om du föredrar att våra team ingriper i själva applikationen faktureras den tjänsten per timme eller som fast pris, med en offert som lämnas före ingreppet.
Med en Managed VPS från Simafri håller våra team servern för din Owncast-instans uppdaterad, övervakar den dag och natt och griper in utan att vänta på ditt samtal; de följer också din instans proaktivt och rekommenderar de rättelser som är till nytta, som du genomför själv eller med din AI-assistent. Säkerhetskopiorna krypteras varje natt och förvaras utanför maskinen, återställningen ingår, och migreringen av din nuvarande server är kostnadsfri.
Ja. Owncast är licensierat under MIT-licensen: du kan använda, ändra och vidaredistribuera det i ditt företag utan att köpa någon licens, så länge du behåller dess upphovsrättsmeddelande. Kvar blir kostnaden för servern som kör det.
Det beror på de kvaliteter du erbjuder. Som en grov tumregel räknar dokumentationen med en kärna per omkodad kvalitet med 30 bilder per sekund, och nästan ingenting för en kvalitet i passthrough. Antalet tittare ändrar inte processorns belastning.
Den högsta hastigheten är strömmens bithastighet gånger antalet tittare: 25 tittare på 5 000 kbit/s kräver 125 Mbit/s utgående. En S3-kompatibel objektlagring kan servera videon i stället för servern, som då bara skickar en kopia av varje kvalitet.
Skapa en compose.yaml med avbilden owncast/owncast, port 8080 publicerad på 127.0.0.1, port 1935 för RTMP och en datamapp monterad på /app/data, och kör sedan docker compose up -d. Sätt därefter en omvänd proxy med HTTPS framför port 8080.
Administrationen, på /admin, öppnas med användarnamnet admin och lösenordet abc123, och strömningsnyckeln är också abc123. Det är två separata inställningar: byt båda vid din första inloggning, under Configuration, Server Setup.
I OBS väljer du en anpassad tjänst och anger rtmp://din-server:1935/live och din strömningsnyckel. Skicka video i H.264 och ljud i AAC, med en nyckelbildruta varannan sekund.
Owncast säkerhetskopierar sin databas varje timme till data/backup/owncastdb.bak. Den säkerhetskopian omfattar bara databasen: för en fullständig återställning kopierar du hela mappen data utanför servern. Återställningen görs med flaggan --restoreDatabase.
En Managed VPS täcker servern: system, säkerhet, övervakning och säkerhetskopior. Våra team följer också din instans proaktivt och rekommenderar de rättelser som är till nytta, som du genomför själv. Ett ingrepp i själva applikationen faktureras per timme eller som fast pris.
Simafri
Låt oss prata om din webbplats
Berätta om ditt projekt med några ord: vi återkommer snabbt.
Tack! Din förfrågan har skickats. Vi återkommer till dig inom kort.
Föredrar du e-post? Skriv till oss på support@simafri.com.