Команда инженеров · свой ЦОД в РФ · своё железо · своя панель · CloudStack + Linstor · MCP · база знаний по self-hosted

PeerTubev8.3.0

Свой видеохостинг для курсов и вебинаров: загрузка, автоматическая разбивка на разрешения и приватные видео для своих сотрудников - замена Vimeo, где цена не растет с числом преподавателей.

После создания сервера PeerTube разворачивается сам: Docker Compose поднимает три контейнера (PeerTube, PostgreSQL, Redis), Caddy отдельным контейнером выпускает Let's Encrypt и открывает доступ по HTTPS на magic-DNS домене. Администратора заводит установка сама - паролем этого сервера, регистрация для посторонних закрыта. Первый старт занимает около полутора минут.

Что внутри

PeerTube (Node.js)
само приложение: загрузка видео, транскодирование, плеер, федерация, живые эфиры.
PostgreSQL
каталог видео, пользователи, плейлисты, комментарии, статистика просмотров.
Redis
очередь фоновых задач: транскодирование, импорт видео, рассылка писем.
Caddy
reverse-proxy и авто-TLS (Let's Encrypt), отдельный контейнер. PeerTube слушает только localhost.

Приватность и курсы

У каждого видео свой уровень доступа: общедоступное, по ссылке, под паролем или внутреннее - такое видят только вошедшие пользователи вашего сервера, и наружу, в федеративную сеть, оно не уходит вовсе. Ролики собираются в плейлисты - так оформляется структура курса. Видео с YouTube переносится импортом по ссылке, старый канал закрывать не нужно.

Живые эфиры

Порт 1935 (RTMP) открыт на этом сервере напрямую - настройте OBS или другой энкодер на rtmp://ваш-адрес:1935/live/<ключ>, ключ трансляции выдает сама админка при создании прямого эфира. Не нужны трансляции - отключите прием заранее, задав LIVE_ENABLED=false в /etc/peertube-mp/params.env.

Как войти

  1. Адрес формируется из IP сервера: замените точки на дефисы и добавьте .fatmetal.net.

  2. Администратор уже заведен: логин root, пароль - пароль этого сервера, тот же, что для SSH (он в личном кабинете).

  3. Смените пароль сразу: "Моя учетная запись" -> "Настройки". Регистрация для посторонних закрыта - новых пользователей заводит только администратор.

Свой домен

Домен нужно задать ДО первого входа на сервер. PeerTube привязывает адрес к внутренним идентификаторам видео и учетных записей уже при первом запуске и не умеет их переносить - это ограничение самого продукта, не рецепта. Если хотите свой домен - впишите DOMAIN=ваш.домен в /etc/peertube-mp/params.env и выполните bash /opt/peertube-mp/install.sh, пока сервер еще не открывался ни разу. После того как вы вошли и начали публиковать видео, домен зафиксирован - install.sh откажется сменить его, чтобы не сломать рабочий сервер; для другого домена понадобится новый сервер.

Требования

Стек в простое занимает около 260 МБ памяти, образы приложений - около 3.7 ГБ. Основной расход - не память, а диск: PeerTube хранит видео в нескольких разрешениях, и час видео 1080p в нашей конфигурации занимает около 3.7 ГБ. На этом тарифе помещается около 24 часов видео. Транскодирование занимает все ядра тарифа целиком - оно и определяет выбор конфигурации, а не память.

Тариф CPU4-RAM8-DISK100.

Библиотека растет: если видео будет больше, чем помещается на диске, PeerTube умеет выносить его в объектное S3-совместимое хранилище прямо из админки - отдельно исходники, отдельно готовые файлы для показа. Объем добирается позже, без переустановки сервера.

Подробный разбор с замерами: сколько реально весит час видео и куда уходит диск →
PeerTube990 ₽/месЗапустить →