Owncast - open-source сервер живого видео-стриминга: свой Twitch на вашем сервере. Вещаете через OBS (или любой RTMP-энкодер) на свой Owncast, а зрители смотрят поток и общаются в чате прямо на вашей странице - без платформы-посредника, рекламы, чужих правил и банов. Видео, чат и аудитория остаются у вас.
После создания сервера Owncast ставится автоматически: docker поднимает один Go-контейнер со встроенным ffmpeg, а Caddy выпускает Let's Encrypt и открывает страницу трансляции по HTTPS на magic-DNS домене. Порт для приема RTMP-потока уже открыт.
Что внутри
- Owncast (Go, встроенный ffmpeg) - страница трансляции с HLS-плеером, живой чат, админка
/admin, прием RTMP. - SQLite - встроенная база (настройки, чат, статистика). Внешняя БД не нужна.
- Caddy - reverse-proxy и авто-TLS (Let's Encrypt) для веб-части.
Безопасность
- Админка закрыта паролем сервера - логин
admin, пароль вашей машины (флаг -adminpassword), инстанс нельзя занять сразу. - fail2ban - банит IP после серии неудачных попыток входа по SSH.
- HTTPS + security-заголовки - Let's Encrypt (авто-продление), HSTS, X-Content-Type-Options. Веб слушает только localhost, наружу - через Caddy.
Как войти
- Адрес формируется из IP сервера: замените точки на дефисы и добавьте
.fatmetal.net. Пример: IP45.15.159.10->https://45-15-159-10.fatmetal.net/. Админка -/admin/. - Логин:
admin. Пароль: тот же, что у вашего сервера (машины) - он в личном кабинете. Сразу смените вConfiguration. - Вещание: в OBS укажите сервер
rtmp://<ваш-домен>:1935/liveи ваш stream key изAdmin -> Streaming Keys. Начнете трансляцию - зрители увидят ее на странице выше.
Важно
Для самого вещания нужен внешний энкодер (OBS Studio или аналог) - Owncast принимает и раздает поток, но не создает его. Порт 1935 (RTMP) уже открыт для приема потока - это отдельный TCP-порт, не через HTTPS. Задержка HLS-потока в несколько секунд - это норма протокола, не сбой. Все настройки, чат и статистика - в томе docker owncast_data, бэкапьте его.
Лицензия
Owncast - открытый код под лицензией MIT: свободное использование, в том числе коммерческое.
Свой домен
Наведите CNAME на этот сервер, впишите домен в /opt/Caddyfile и перезапустите owncast-caddy - Caddy выпустит Let's Encrypt. RTMP-адрес для OBS тоже станет rtmp://ваш-домен:1935/live.
Требования
Ubuntu 24.04, открытые порты 80/443 (веб) и 1935 (RTMP). Owncast очень легкий: в простое стек занимает около 0.13 ГБ (owncast ~111, caddy ~13 МиБ), образ ~285 МБ. Но транскодинг видео при активной трансляции нагружает CPU - под реальный эфир берите CPU2-RAM4 и выше.