Hosting Owncast na Managed VPS oznacza, że transmitują Państwo wideo na żywo i prowadzą jego czat z maszyny, która należy do Państwa, a nasze zespoły dbają o jej aktualność i nadzorują ją dniem i nocą. Owncast to wolne oprogramowanie na licencji MIT. Ten poradnik podąża za jego oficjalną dokumentacją: procesor i przepustowość do zaplanowania, instalacja przez Docker Compose, klucz transmisji, HTTPS, jakości wideo, magazyn obiektowy, czat, kopie zapasowe i aktualizacje.
Autor: Simon Vasconcelos Lee
Opublikowano 14 listopada 2026Czas czytania: 15 minut
owncast/owncast, który zawiera ffmpeg, port webowy 8080 za odwrotnym proxy z HTTPS i port RTMP 1935 dla Państwa oprogramowania do transmisji.abc123.data poza serwer, a aktualizować poleceniem docker compose pull.Owncast to otwartoźródłowy, samodzielnie hostowany, jednoosobowy serwer transmisji wideo na żywo z czatem: jedna instancja obsługuje kanał jednej osoby lub organizacji. README przedstawia go jako sposób na prowadzenie własnych transmisji na żywo, na wzór dużych popularnych platform, z zachowaniem własności treści, interfejsu, moderacji i widowni.
/hls/stream.m3u8.Owncast jest udostępniany na licencji MIT. Przyznaje ona bezpłatnie prawo do używania, kopiowania, modyfikowania, łączenia, publikowania, rozpowszechniania, sublicencjonowania i sprzedawania kopii oprogramowania. Mogą więc Państwo uruchomić go dla swojej firmy, społeczności lub klientów, bez zakupu licencji.
Jedynym warunkiem jest zachowanie informacji o prawach autorskich i tekstu licencji we wszystkich kopiach lub istotnych częściach oprogramowania. Tekst dostarcza oprogramowanie „w stanie, w jakim jest”, bez gwarancji.
Dokumentacja mówi to od razu: wymagania zależą od Państwa konfiguracji. Podaje jednak jasną regułę, by je oszacować. Procesor transkoduje wideo do oferowanych jakości; przepustowość dostarcza je każdemu widzowi.
Dokumentacja podaje dwa wzory. Objętość transmisji w gigabajtach: przepływność w kb/s × czas trwania w sekundach × widzowie ÷ 8 000 000. Szczytowa prędkość wysyłania do utrzymania, w Mb/s: przepływność w kb/s × widzowie ÷ 1000. Przy kilku jakościach proszę obliczyć każdą z nich i zsumować wyniki. Jej szacunki dla dwugodzinnej transmisji:
| Przepływność strumienia | 10 widzów | 25 widzów | 50 widzów |
|---|---|---|---|
| 2000 kb/s | 18 GB, 20 Mb/s | 45 GB, 50 Mb/s | 90 GB, 100 Mb/s |
| 4000 kb/s | 36 GB, 40 Mb/s | 90 GB, 100 Mb/s | 180 GB, 200 Mb/s |
| 6000 kb/s | 54 GB, 60 Mb/s | 135 GB, 150 Mb/s | 270 GB, 300 Mb/s |
Na VPS Simafri ruch nie ma miesięcznego licznika: Państwa transmisje dobiera się według ich szczytowej przepływności. Gdy widownia rośnie, magazyn obiektowy, omówiony dalej, udostępnia wideo w miejsce serwera.
Dokumentacja podaje zmierzone punkty odniesienia, zaznaczając, że zależą one od kodeka, przepływności, rozdzielczości i ustawienia enkodera:
| Konfiguracja | Obciążenie procesora |
|---|---|
| Jedna jakość w trybie passthrough, bez ponownego kodowania | Minimalne |
| Jedna transkodowana jakość | Lekkie |
| Dwie jakości, wysoka i niska | Umiarkowane |
| Trzy jakości albo silna kompresja | Duże |
Dokumentacja nie podaje wymagań dotyczących pamięci, a dysk ma niewielkie znaczenie: segmenty wideo są zapisywane, a potem usuwane w miarę trwania transmisji. Z czasem rośnie jedynie katalog data. Na VPS kodowanie wykonuje procesor: każdą transkodowaną jakość dobiera się w vCPU. Na Managed VPS wystarczy opisać nam swoje transmisje, ich przepływność, jakości i widownię, a polecimy odpowiedni rozmiar.
Zanim strumień dotrze do serwera, wychodzi z Państwa własnego łącza. Dokumentacja wymaga prędkości wysyłania co najmniej 1,5 raza większej od przepływności strumienia: 7,5 Mb/s dla strumienia 5000 kb/s. Zaleca połączenie przewodowe zamiast Wi-Fi.
Dokumentacja proponuje obraz owncast/owncast z Docker Hub, który zawiera ffmpeg, narzędzie do kodowania potrzebne Owncast. Na serwerze z zainstalowanym Dockerem proszę utworzyć katalog i umieścić w nim ten compose.yaml, zaczerpnięty z dokumentacji:
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: to jedyna zmiana względem przykładu z dokumentacji, który publikuje oba porty. Jej strona o odwrotnym proxy prosi, by nie wystawiać Owncast bezpośrednio do internetu, ponieważ domyślnie nasłuchuje on na wszystkich interfejsach, a Docker publikuje port na wszystkich adresach serwera, gdy żaden nie jest podany. Interfejs webowy jest wtedy osiągalny wyłącznie przez odwrotne proxy.data przechowuje bazę danych i jej kopie na serwerze, poza kontenerem: to jego kopię się wykonuje i to on się przenosi.latest podąża za najnowszym wydaniem; 0.3.0 przypina wersję.Druga droga z dokumentacji to skrypt, który pobiera najnowsze wydanie Owncast dla Państwa platformy oraz ffmpeg, jeśli go jeszcze nie ma. Instaluje wszystko w katalogu owncast wewnątrz bieżącego. Dokumentacja odradza uruchamianie go jako root i zaleca przeczytanie każdego zdalnego skryptu przed jego uruchomieniem:
curl -s https://owncast.online/install.sh | bash
Aby Owncast startował razem z serwerem i sam uruchamiał się ponownie po awarii, dokumentacja dostarcza usługę systemd, do dostosowania do wybranego katalogu i konta:
[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
Panel administracyjny znajduje się pod /admin. Owncast startuje z danymi logowania, które zna każdy, a dokumentacja prosi o ich zmianę przy pierwszym logowaniu:
| Ustawienie | Wartość domyślna | Do czego służy |
|---|---|---|
| Nazwa użytkownika administratora | admin | Logowanie do /admin |
| Hasło administratora | abc123 | Logowanie do /admin |
| Klucz transmisji | abc123 | Publikowanie strumienia z Państwa oprogramowania do transmisji |
Aby dokonać tej zmiany, zanim interfejs zostanie otwarty dla publiczności, proszę skorzystać z tunelu SSH: port 8080 serwera pojawia się wtedy na Państwa komputerze, pod adresem http://localhost:8080/admin. Proszę dodać -p i port SSH podany w Państwa strefie klienta.
ssh -L 8080:127.0.0.1:8080 user@live.example.com
!@#$%^&*, i nie może zawierać myślnika.--adminpassword, która zapisuje je w bazie.Hasło administratora i klucz transmisji mają na początku tę samą wartość abc123, ale są to dwa odrębne ustawienia: proszę zmienić oba.
Owncast sam nie obsługuje HTTPS. Dokumentacja umieszcza przed nim odwrotne proxy, które nasłuchuje na portach 80 i 443, uzyskuje certyfikat, szyfruje ruch i przekazuje go w postaci jawnej do Owncast na port 8080. Bez HTTPS przeglądarki oznaczają stronę jako niezabezpieczoną, a strona udostępniana przez HTTPS nie może osadzić Państwa wideo ani czatu.
/ws, które obsługuje czat. Proxy, które je blokuje, odcina czat.X-Forwarded-For, aby zablokować adres IP użytkownika wykluczonego z czatu. Dokumentacja prosi, by proxy samo ustawiało ten nagłówek.Dokumentacja proponuje Caddy, jeśli nie mają Państwo innych preferencji: sam uzyskuje certyfikat Let’s Encrypt i przekazuje WebSocket bez dodatkowych ustawień. Oto jej przykładowy Caddyfile, w którym wiersz tls podaje adres e-mail konta Let’s Encrypt:
live.example.com {
encode gzip
reverse_proxy 127.0.0.1:8080
tls contact@example.com
}
Przy Nginx dokumentacja kładzie nacisk na WebSocket: to jego pominięcie wyłącza czat. Proszę dodać ten blok map do sekcji http pliku /etc/nginx/nginx.conf:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
Ten blok strony powtarza blok z dokumentacji, na porcie 80, aby Certbot mógł zainstalować 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 przyjmuje każde oprogramowanie, które nadaje przez RTMP do zdalnego serwera. Klucz jest akceptowany wyłącznie na ścieżce /live. W OBS:
rtmp://live.example.com:1935/live.Oprogramowanie bez pola na klucz przyjmuje pełny adres, rtmp://live.example.com:1935/live/your-key.
Na VPS Simafri adres IPv6 serwera może otworzyć dowolnie wybrany port: Państwa oprogramowanie do transmisji dociera do portu 1935 przez ten adres, pod nazwą, która ma rekord AAAA. W sieci Docker IPv4, jak tutaj, Docker przekierowuje port z adresu IPv6 serwera do kontenera. Jeśli ufw jest aktywny, proszę otworzyć ten port, a następnie przetestować połączenie ze swojego komputera:
sudo ufw allow 1935/tcp
nc -6 -vz live.example.com 1935
W przypadku każdej innej potrzeby wystarczy nam ją opisać, a wspólnie przyjrzymy się adresacji.
2.| Rozdzielczość | Klatki na sekundę | Sugerowana przepływność |
|---|---|---|
| 1920 × 1080 | 60 | 5000 kb/s |
| 1920 × 1080 | 30 | 4500 kb/s |
| 1280 × 720 | 60 | 4000 kb/s |
| 1280 × 720 | 30 | 3000 kb/s |
Jakości oferowane widzom ustawia się w „Configuration”, „Video”. Kilka jakości pozwala odtwarzaczowi wybrać tę, którą jego łącze jest w stanie utrzymać: dokumentacja zaleca, po przetestowaniu pierwszej konfiguracji, drugą jakość, od 1000 do 2000 kb/s, obok wysokiej jakości od 4000 do 6000 kb/s.
Passthrough przekazuje przychodzące wideo bez ponownego kodowania: oszczędza niemal całą moc procesora tej jakości i pomija jej ustawienia przepływności, rozdzielczości i liczby klatek. Dokumentacja zastrzega go dla zaawansowanych użytkowników: widzowie otrzymują dokładnie to, co wysyła Państwa oprogramowanie, czego niektóre odtwarzacze nie potrafią odtworzyć, a opóźnienie rośnie. Zanim zaczną Państwo na nim polegać, proszę przetestować odtwarzanie na urządzeniach, które są dla Państwa ważne.
Opóźnienie ustawia się buforem opóźnienia na tej samej stronie. Każdy poziom zamienia odrobinę opóźnienia na stabilność, a zmiana obowiązuje od następnej transmisji:
| Poziom | Długość segmentu | Segmenty na liście odtwarzania | Przybliżone opóźnienie |
|---|---|---|---|
| 0, najniższy | 1 sekunda | 25 | około 5 sekund |
| 1 | 2 sekundy | 15 | około 8 do 9 sekund |
| 2, domyślny | 3 sekundy | 10 | około 10 sekund |
| 3 | 4 sekundy | 8 | około 15 sekund |
| 4, najwyższy | 5 sekund | 5 | około 18 sekund |
Wersja 0.3.0 dodaje też po stronie widza opcję odtwarzacza „Minimize latency”, która lekko przyspiesza odtwarzanie, aby zbliżyć się do transmisji na żywo, oraz ustawienie automatycznego odtwarzania, domyślnie wyłączone.
Owncast może wysyłać swoje segmenty wideo do magazynu zgodnego z S3, z którego pobierają je widzowie. Serwer nadal udostępnia główną listę odtwarzania, API i czat; wideo, które stanowi niemal całą przepustowość, pochodzi z magazynu. Państwa serwer wysyła wtedy tylko jedną kopię każdej jakości: w przykładzie z dokumentacji 6,5 Mb/s dla dwóch jakości, 5000 i 1500 kb/s, niezależnie od tego, czy widzów jest zero, czy tysiąc. Obciążenie procesora pozostaje takie samo.
CORS lub Access-Control-Allow-Origin w konsoli przeglądarki niemal zawsze ma tam swoje źródło.Ten magazyn obsługuje transmisję na żywo, a nie archiwum: Owncast na bieżąco usuwa segmenty starsze niż lista odtwarzania plus bufor około 20 segmentów. Kontener przechowuje tylko kilka ostatnich minut transmisji.
Dla widzów rozproszonych po całym świecie dokumentacja opisuje też sieć dostarczania treści (CDN) umieszczoną przed Owncast, z osobną nazwą hosta źródłowego i ustawieniem „Websocket host override”, które utrzymuje połączenie czatu z serwerem źródłowym.
Czat ustawia się w „Configuration”, „Chat”. Domyślnie nie ma żadnych moderatorów: dokumentacja radzi przynajmniej mianować moderatorem samego siebie, na stronie „Users” panelu administracyjnego.
Dokumentacja zaznacza, że blokadę IP można obejść, na przykład przez VPN: ogranicza ona nadużycia, a moderacja pozostaje zadaniem każdego kanału. Stąd wartość wyznaczonych moderatorów przy najchętniej oglądanych transmisjach.
Owncast sam wykonuje kopię swojej bazy raz na godzinę, do data/backup/owncastdb.bak. Flaga --backupdir zmienia ten katalog. Oto, co zawiera katalog z danymi:
| Element | Co przechowuje | W kopii cogodzinnej |
|---|---|---|
owncast.db | Konfigurację, użytkowników, historię czatu i tokeny dostępu | Tak |
backup/ | Cogodzinną kopię bazy | To jest ta kopia |
Własne emoji, public/ | Pliki dodane przez Państwa | Nie |
| Wtyczki | Zainstalowane wtyczki i ich dane, od wersji 0.3.0 | Nie |
| Dane GeoIP | Skąd łączą się widzowie | Nie |
Do pełnego odtworzenia albo przeniesienia instancji dokumentacja prosi o kopię całego katalogu data: skopiowanie go do nowej instalacji przenosi wszystko. Przy Dockerze, przy zatrzymanej usłudze:
docker compose down
tar -czf owncast-$(date +%F).tar.gz data
docker compose up -d
Proszę zaplanować tę kopię odpowiednio do swoich transmisji i wysyłać ją poza serwer. Umieszczone na jego dysku, archiwa te trafiają także do jego nocnych kopii zapasowych.
Przywrócenie cofa bazę do chwili wykonania kopii: wszystko, co zmieniono od tego czasu, zostaje utracone. Najpierw proszę skopiować bieżącą bazę w bezpieczne miejsce, a następnie:
--restoreDatabase i ścieżką pliku kopii: przywraca on bazę, a potem kończy działanie.docker compose stop
docker compose run --rm owncast --restoreDatabase data/backup/owncastdb.bak
docker compose up -d
Przy Dockerze dokumentacja podaje dwa polecenia, wydawane z katalogu z compose.yaml. Katalog z danymi pozostaje na miejscu:
docker compose pull
docker compose up -d
Przy instalatorze informacje o wydaniu 0.3.0 opisują aktualizację: zatrzymać usługę, odłożyć na bok ewentualnie zmienione pliki interfejsu webowego, ponownie uruchomić instalator z konta, które uruchamia Owncast, a potem uruchomić usługę ponownie. Sam skrypt przed zastąpieniem wydania zapisuje archiwum katalogu data w owncast-install-backups.
sudo systemctl stop owncast
su -c "curl https://owncast.online/install.sh | bash" owncast
sudo systemctl start owncast
Wersja 0.3.0, wydana 3 września 2026 roku, przynosi wtyczki, Featured Streams, automatyczne odtwarzanie i wybór interfejsu, na którym nasłuchuje RTMP. Jej notatki proszą o zapoznanie się ze zmianami przed aktualizacją, ponieważ dotyczą one Państwa instancji: proszę śledzić te notatki przy każdym wydaniu i tuż przed aktualizacją skopiować katalog data.
Samodzielny hosting wymaga prowadzenia serwera, oprócz samej aplikacji. Na Managed VPS nasze zespoły przejmują serwer i proaktywnie czuwają nad Państwa instancją; Owncast pozostaje Państwa oprogramowaniem, z jego ustawieniami i danymi.
| Temat | Nasze zespoły | Państwo |
|---|---|---|
| Serwer | Aktualizacje systemu i zabezpieczeń, w tym interwencje na serwerze | Moment dogodny dla Państwa działalności |
| Nadzór | Serwer pod opieką całą dobę, 7 dni w tygodniu, z interwencją bez czekania na Państwa telefon | Czytanie dzienników Państwa instancji |
| Owncast | Proaktywna opieka: wychwytujemy błędy, spowolnienia, obciążenie procesora i brak miejsca na dysku oraz polecamy poprawkę | Instalacja, aktualizacje i ustawienia, które wdrażają Państwo sami albo Państwa asystent AI |
| Transmisje i czat | Serwer, który je utrzymuje, nadzorowany i objęty kopiami zapasowymi | Klucze transmisji, jakości wideo, moderatorzy i zasady czatu |
| Kopie zapasowe | Co noc, szyfrowane i przechowywane poza maszyną; przywracanie w cenie | Kopie właściwe dla Owncast oraz zgłoszenie prośby o przywrócenie, gdy będzie potrzebne |
| Migracja | Migracja Państwa obecnego serwera, bezpłatna | Moment przełączenia |
Jeśli wolą Państwo, aby nasze zespoły interweniowały w samej aplikacji, usługa ta jest rozliczana godzinowo lub ryczałtowo, z wyceną przekazaną przed interwencją.
Z Managed VPS od Simafri nasze zespoły utrzymują serwer Państwa instancji Owncast w aktualności, nadzorują go dniem i nocą i interweniują bez czekania na Państwa telefon; proaktywnie czuwają także nad Państwa instancją i polecają przydatne poprawki, które wdrażają Państwo sami albo Państwa asystent AI. Kopie zapasowe są szyfrowane co noc i przechowywane poza maszyną, ich przywracanie jest w cenie, a migracja obecnego serwera jest bezpłatna.
Tak. Owncast jest udostępniany na licencji MIT: mogą Państwo używać go, modyfikować i rozpowszechniać w firmie bez zakupu licencji, pod warunkiem zachowania informacji o prawach autorskich. Pozostaje koszt serwera, na którym działa.
To zależy od oferowanych jakości. W przybliżeniu dokumentacja liczy jeden rdzeń na transkodowaną jakość przy 30 klatkach na sekundę i niemal nic dla jakości w trybie passthrough. Liczba widzów nie zmienia obciążenia procesora.
Prędkość szczytowa równa się przepływności strumienia pomnożonej przez liczbę widzów: 25 widzów przy 5000 kb/s potrzebuje 125 Mb/s wysyłania. Magazyn obiektowy zgodny z S3 może udostępniać wideo w miejsce serwera, który wysyła wtedy tylko jedną kopię każdej jakości.
Proszę utworzyć compose.yaml z obrazem owncast/owncast, portem 8080 opublikowanym na 127.0.0.1, portem 1935 dla RTMP i katalogiem data zamontowanym w /app/data, a następnie uruchomić docker compose up -d. Potem proszę postawić przed portem 8080 odwrotne proxy z HTTPS.
Panel administracyjny, pod /admin, otwiera się nazwą użytkownika admin i hasłem abc123, a klucz transmisji to również abc123. To dwa odrębne ustawienia: proszę zmienić oba przy pierwszym logowaniu, w Configuration, Server Setup.
W OBS proszę wybrać usługę niestandardową, wpisać rtmp://twoj-serwer:1935/live i swój klucz transmisji. Proszę wysyłać obraz H.264 i dźwięk AAC, z klatką kluczową co 2 sekundy.
Owncast co godzinę wykonuje kopię swojej bazy do data/backup/owncastdb.bak. Ta kopia obejmuje tylko bazę: do pełnego odtworzenia proszę kopiować cały katalog data poza serwer. Przywracanie odbywa się flagą --restoreDatabase.
Managed VPS obejmuje serwer: system, bezpieczeństwo, nadzór i kopie zapasowe. Nasze zespoły proaktywnie czuwają też nad Państwa instancją i polecają przydatne poprawki, które wdrażają Państwo sami. Interwencja w aplikacji jest rozliczana godzinowo lub ryczałtowo.
Simafri
Porozmawiajmy o Państwa projekcie
Proszę powiedzieć nam w kilku słowach, czego Państwo potrzebują: odpowiemy szybko.
Dziękujemy! Państwa zapytanie zostało wysłane. Wkrótce się odezwiemy.
Wolą Państwo e-mail? Proszę napisać do nas na support@simafri.com.