Jellyfin
Свой медиасервер: фильмы, сериалы, музыка и фото со стримингом на телефон, ТВ и в браузер - без облака, без аккаунта и без подписки. 100% open-source, вся медиатека и данные о просмотрах остаются у вас. Развернули на Fatmetal Cloud Server, завели живую библиотеку и замерили.
Вердикт
- нужен свой Netflix/Plex без облака, аккаунта и подписки - медиатека и история у вас
- стримить свою коллекцию кино, музыки и фото на любое устройство (браузер, телефон, ТВ)
- цените легкость: сам сервер в простое держится около ~177 MiB RAM
- нужно аппаратное ускорение транскодинга - на облачной VM без GPU только software
- нужен идеально готовый клиент на любом ТВ из коробки - у Plex это удобнее
- ждете готовый чужой каталог как Netflix - контент вы приносите свой
Что это и какую задачу решает
Jellyfin - медиасервер, который вы держите у себя. Складываете фильмы, сериалы, музыку и фото на сервер, а Jellyfin отдает их красивым каталогом с постерами и стримит на любое устройство: браузер, приложение на телефоне (Android/iOS), ТВ (Android TV, Samsung Tizen), Kodi. Метаданные и обложки тянутся автоматически из TMDB/TVDB, есть мультипользовательность, отметки о просмотре, субтитры и живое ТВ.
Ключевое отличие от Plex - Jellyfin полностью бесплатный и локальный: нет обязательного аккаунта, нет входа через центральный портал вендора, нет платных тиров. Это форк Emby 2018 года, community-проект без коммерческого облака. Мы сразу поставили русский интерфейс. Контент вы приносите свой - это не стриминг чужого каталога, а ваша личная медиатека.
Чем отличается от Plex и стримингов
Сравнение по тому, что влияет на контроль и приватность.
| Параметр | Jellyfin | Plex / стриминги |
|---|---|---|
| Цена | бесплатно, open-source | Plex Pass за фичи / подписка за каталог |
| Аккаунт вендора | не нужен, все локально | Plex требует аккаунт и вход через портал |
| Где медиатека и история | на вашем сервере | частично у вендора / в облаке |
| Каталог | ваш контент | чужой каталог по подписке (стриминги) |
| Аппаратный транскодинг | на облачной VM без GPU - нет | есть (Plex Pass / свое железо) |
Тех-стек и архитектура
Сервер написан на C# (.NET), слушает 127.0.0.1:8096 и наружу напрямую не смотрит. Перед ним Caddy держит внешний :443 и сам выпускает валидный TLS. Медиафайлы монтируются с хоста в контейнер, метаданные и постеры Jellyfin подтягивает из внешних баз (TMDB/TVDB). Итого два контейнера, поднимаются одним docker compose.
Транскодинг встроен (ffmpeg): если клиент не умеет проигрывать формат напрямую (Direct Play), сервер перекодирует поток на лету. Это главный ресурсный вопрос медиасервера - к нему вернемся в разделе про грабли. Релизы - обычные семантические версии, мы проверяли на v10.11.11.
Минимальная конфигурация
Реальные требования против официального минимума.
| Официальный минимум RAM | 2 GB |
| RAM всего стека в простое | ~177 MiB (2 контейнера) |
| Образ Jellyfin на диске | ~2.27 GB |
| Рекомендуем тариф | CPU2-RAM4-DISK50 |
Важно: в простое сервер легкий - хватает тарифа CPU2-RAM4-DISK50 за 500 руб/мес. Но нагрузку определяет НЕ простой, а транскодинг: если клиенты играют напрямую (Direct Play), CPU почти не тратится; если сервер перекодирует поток - CPU нужен с запасом.
Диск и железо - главный выбор под медиатеку. Библиотека лежит на диске сервера (каталог /opt/jellyfin/media), поэтому тариф выбирают НЕ по RAM, а по объему под контент. Небольшой личной коллекции хватит VPS, а место добираете отдельным томом (в Fatmetal - услуга «Дополнительный диск»), примонтировав его в тот же путь. Для большой фильмотеки и постоянного транскодинга VPS уже не выбор: тут берут выделенный сервер (bare metal) - дешевые HDD на десятки терабайт под контент, а под аппаратный транскодинг - процессор с интегрированной графикой (Intel QuickSync), чего на VPS нет.
Развертывание на Fatmetal
Базовый путь - Cloud Server + Ubuntu 24.04 + Docker из маркетплейса.
В маркетплейсе Fatmetal
Не хотите ставить руками?
Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочий домен, валидный TLS и готовый к настройке Jellyfin.
Рекомендуемая конфигурация: CPU2-RAM4-DISK50
Создать VM
Fatmetal Cloud Server, Ubuntu 24.04, приложение Docker из маркетплейса.
Запустить установщик
curl -o install.sh ССЫЛКА-НА-СКРИПТ bash install.shСкрипт вычисляет домен из IP (magic-DNS), поднимает Caddy с автоматическим TLS и ставит Jellyfin. Медиафайлы кладете в каталог
/opt/jellyfin/media(примонтирован в контейнер).Пройти мастер настройки
Аккаунта по умолчанию НЕТ: откройте
https://<IP-или-домен>- мастер спросит язык, создаст администратора и предложит добавить медиатеки (например тип «Фильмы» с папкой/media/Movies). После этого Jellyfin просканирует файлы и подтянет постеры.
Что измерили после запуска
Цифры со свежей установки на живом стенде.
| RAM всего стека в простое | ~177 MiB |
| - jellyfin | 163.6 MiB |
| - caddy | 13.7 MiB |
| Образ Jellyfin на диске | ~2.27 GB |
| Внешний TLS | валидный Let's Encrypt (Caddy) |
| Версия | 10.11.11 |
Мы завели реальную библиотеку: положили в медиатеку три открытых фильма проекта Blender (Big Buck Bunny, Sintel, Elephants Dream - все public-domain), прошли мастер и запустили сканирование. Jellyfin распознал их и подтянул постеры и описания с TMDB, открыл карточку фильма с кодеками, рейтингом и кнопкой воспроизведения - все на русском.
Проверено на версии 10.11.11, июль 2026. На новых версиях результаты могут отличаться.
Где может сломаться
Реальные грабли медиасервера на облачной VM.
Транскодинг - главный ресурсный камень. Если клиент проигрывает файл как есть (Direct Play), CPU почти не нужен. Но перекодировка на лету (несовместимый кодек, 4K на слабый экран, вжигание субтитров) грузит процессор, а аппаратного ускорения (VAAPI/NVENC) на облачной VM без GPU нет - только software. Готовьте медиатеку в совместимых форматах и полагайтесь на Direct Play.
Причина. Метаданные тянутся из интернета (TMDB/TVDB) по имени файла. Нераспознаваемое имя или временный сбой доступа - и матч не находится.
Решение. Имена файлов в формате Название (Год).ext, доступ в интернет с сервера, при промахе - «Обновить метаданные» вручную из карточки.
Первый вход - мастер, аккаунта по умолчанию нет. Первый прошедший мастер становится администратором. Пройдите его сразу сами, а публичный доступ при необходимости закройте.
Безопасность и обновления
Внешний TLS держит Caddy (валидный Let's Encrypt автоматически). Сервер слушает только localhost. Учетные записи и медиатека - на вашем сервере, без аккаунта вендора. Чек-лист: пройти мастер и задать сильный пароль администратора; при публичном инстансе - ограничить регистрацию и подумать про доступ (VPN/basic-auth перед сервером); настроить бэкап каталога config (настройки, пользователи, отметки о просмотре).
Обновление - подтянуть свежий образ и перезапустить:
cd /opt/jellyfin
docker compose pull && docker compose up -d
Бэкапить стоит каталог config (сама медиатека - это ваши файлы, их бэкапите отдельно по своему усмотрению).
Связь с другими стеками
- Клиенты - приложения Jellyfin на Android/iOS, Android TV и Samsung Tizen, плагин для Kodi; смотреть можно откуда угодно.
- Обратный прокси - Caddy уже в комплекте и держит TLS; отдельный прокси не нужен.
- Наполнение медиатеки - в связке часто ставят *arr-стек (Radarr/Sonarr) для организации библиотеки; это отдельные сервисы рядом.
Когда это НЕ ваш выбор
Нужно аппаратное транскодирование
Если планируете много одновременных перекодировок тяжелого видео - на облачной VM без GPU это упрется в CPU. Нужен сервер с видеоускорением или ставка на Direct Play.
Нужен идеальный ТВ-клиент из коробки
Plex исторически удобнее «просто работает» на любом телевизоре. Jellyfin догоняет (в том числе официальное приложение на Samsung Tizen), но порог входа чуть выше.
Ждете готовый каталог как Netflix
Jellyfin показывает ВАШ контент, а не подписочный чужой каталог. Наполнение медиатеки - на вас.
Частые вопросы
Можно поставить без Docker?
Есть и нативные пакеты, но docker compose проще и воспроизводимее - им и разворачиваем.
Хватит ли 2 GB RAM?
Для сервера в простое - с запасом (около 177 MiB). Реальную нагрузку дает транскодинг, а не простой.
Потянет ли транскодинг на VM?
Software-транскодинг тяжелого видео на слабой VM - узкое место (GPU в облаке обычно нет). Ставка на Direct Play и совместимые форматы.
Откуда брать контент?
Свой: копируете файлы в медиатеку. Jellyfin - сервер вашей коллекции, а не источник чужого каталога.
Нужен ли аккаунт как у Plex?
Нет. Jellyfin полностью локальный: учетные записи создаются на вашем сервере, вход без внешнего портала.
Как обновлять?
docker compose pull && docker compose up -d.
Что значит лицензия GPL-2.0?
Свободный open-source: можно использовать и модифицировать, распространяя изменения на тех же условиях.
Итог
Jellyfin - зрелый (54 тысячи звезд, GPL-2.0) и легкий способ поднять свой медиасервер: сам сервер в простое держится около ~177 MiB RAM, стримит вашу коллекцию на любое устройство, а медиатека и история остаются у вас без аккаунта и подписки вендора. Главное держать в голове - диск и транскодинг: тариф выбирают по объему медиатеки, а не по RAM. Под небольшую библиотеку хватит VPS с добавочным томом; под большую фильмотеку и постоянный транскодинг это скорее кандидат на выделенный сервер (bare metal) с HDD-массивом на десятки терабайт и процессором с аппаратным транскодингом (QuickSync). Для своего «Netflix» без облака - отличный выбор.
Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.