Open source media server в 2026 году — это уже не «бесплатная замена Plex для гиков». Это нормальный домашний кинотеатр без подписок, без телеметрии и без сюрпризов вроде того что Plex провернул в 2025-м, заперев удалённый стрим за пейволлом. 25 лет в SRE и сетях, и за последний год развернул, сломал и починил все десять решений из этого списка. Расскажу что выбрать под NAS, под homelab, под Smart TV и под старый Raspberry Pi с 1 ГБ памяти.
- Jellyfin 10.11.8 — универсальный сервер, видео+музыка+книги, аппаратный транскодинг, мобильные клиенты. Лучший общий выбор.
- Navidrome 0.61.2 — только музыка. Лёгкий, быстрый, Subsonic API, работает на Pi.
- Gerbera 3.2.1 — чистый DLNA/UPnP для Smart TV. Без веб-плеера, но ест 30 МБ RAM.
- Universal Media Server 15.5.0 — DLNA с агрессивным транскодингом для старых телевизоров.
- Kodi 21.3 Omega — HTPC на самом ТВ-боксе, не сервер в классическом смысле.
Берёшь NAS с x86 и Intel iGPU — ставь Jellyfin. Только музыка — Navidrome. Хочешь чтобы Samsung 2014 года увидел сервер по DLNA — Gerbera или UMS.
Диагноз: Plex закрылся, надо валить
Поднял Plex дома. Года три-четыре он работал. А в апреле 2025 пришло письмо: удалённый стрим теперь только по подписке. Plex Pass или Remote Watch Pass. С ноября 2025 это начали реально включать через Roku, в течение 2026 — на Apple TV, Fire TV, Android TV и сторонних клиентах. Знакомо?
Я не против платить за софт. Я против платить за доступ к собственным файлам на собственном железе. Поэтому open source media server в 2026 — не вопрос идеологии, а вопрос гигиены.
Что ты получишь к концу статьи:
- сравнительная таблица 10 платформ с реальными цифрами по RAM, транскодингу и поддержке устройств
- понимание что выбрать под твой сценарий: NAS, homelab, Smart TV, музыка
- готовые docker-compose для топ-3 решений
- разбор аппаратного ускорения — Intel Quick Sync, NVIDIA NVENC, AMD AMF
- troubleshooting типовых граблей
Времени на чтение — минут 25. Времени на разворачивание Jellyfin по этому материалу — минут 15 если у тебя уже есть Docker.
Сравнительная таблица: 10 open source медиа серверов 2026
Это таблица-отправная точка. Дальше разбираю каждое решение в деталях. Версии актуальны на момент публикации — перед установкой проверь свежие релизы на GitHub проекта.
| Платформа | Версия | Фокус | HW транскодинг | Web UI | DLNA | Live TV | RAM idle | Сложность | Лучше всего для |
|---|---|---|---|---|---|---|---|---|---|
| Jellyfin | 10.11.8 | Видео+музыка+книги | Intel/NVIDIA/AMD/VAAPI | Да | Да | Да + DVR | ~250 МБ | Средняя | Универсальный сервер |
| Kodi | 21.3 Omega | HTPC + клиент | Да (на стороне клиента) | Нет (только TUI) | Да (UPnP) | Да через PVR-клиенты | ~200 МБ | Высокая | Подключение к ТВ напрямую |
| Universal Media Server | 15.5.0 | DLNA + транскодинг | FFmpeg/MEncoder | Web Player | Да (главное) | Нет | ~400 МБ (Java) | Низкая | Старые Smart TV, PS3, Xbox |
| Gerbera | 3.2.1 | Чистый UPnP | Через FFmpeg | Да (база/файлы) | Да (ядро) | Нет | ~30 МБ | Средняя | Лёгкий DLNA на Pi |
| ReadyMedia (MiniDLNA) | 1.3.3 | Минималистичный DLNA | Нет | Нет | Да | Нет | ~15 МБ | Низкая | Самый лёгкий DLNA |
| Rygel | 0.42 | UPnP/DLNA для Linux | GStreamer | Нет | Да | Нет | ~50 МБ | Средняя | GNOME/Linux desktop |
| Navidrome | 0.61.2 | Только музыка | FFmpeg (audio) | Да | Нет (только Subsonic) | Нет | ~50 МБ | Низкая | Личный Spotify |
| Funkwhale | 1.4 | Музыка + федерация | FFmpeg | Да | Нет | Нет | ~600 МБ | Высокая | Музыка + ActivityPub |
| Lyrion Music Server (LMS) | 9.1.1 | Squeezebox экосистема | FFmpeg/sox | Да | Через плагины | Радио | ~150 МБ | Средняя | Multi-room hi-fi |
| Audiobookshelf | 2.x | Аудиокниги + подкасты | FFmpeg (audio) | Да | Нет | Нет | ~80 МБ | Низкая | Замена Audible |
Цифры по RAM — на пустом сервере без активных стримов. Под нагрузкой Jellyfin с 4K-транскодингом съест 1-2 ГБ, плюс GPU. У Navidrome нагрузка от размера библиотеки — 30 000 треков укладываются в 50-100 МБ.
Почему open source выигрывает в 2026
Семь причин почему я перевёл всех знакомых с Plex на FOSS:
- Удалённый стрим у Plex теперь платный — Plex Pass $6.99/мес или Remote Watch Pass $1.99/мес. На своём сервере. Со своими файлами. Странно.
- Телеметрия — Plex/Emby собирают что и когда ты смотришь. Jellyfin не собирает ничего, это записано в его манифесте.
- Аппаратное ускорение бесплатно — в Jellyfin Intel Quick Sync, NVIDIA NVENC и AMD VAAPI работают из коробки. У Plex это Plex Pass-only.
- Контроль обновлений — твой Docker, твой compose, твоя версия. Никто не выкатит тебе ребрендинг приложения и не уберёт половину функций как Plex с Roku-апой.
- Безопасность аудитируема — код Jellyfin на GitHub, CVE раскрываются публично (см. 10.11.7 от октября 2025).
- Низкие требования — Navidrome крутится на Raspberry Pi Zero. Plex — нет.
- Сообщество вместо саппорта — на форуме Jellyfin тебе ответят за пару часов. В Plex Support тикете — через неделю и шаблоном.
Минус один и существенный: единого «полированного» приложения уровня Plex для семейных пользователей у open source пока нет. Жена и дети не всегда хотят разбираться с интерфейсом Jellyfin. Об этом ниже.
Архитектура типового self-hosted media stack
Чтобы было понятно куда мы суём эти серверы и как они общаются — вот как обычно выглядит домашняя установка.
Файлы лежат на NAS или просто на дисках. Docker крутится на отдельном Linux-боксе или на самом NAS если он x86 (Synology Plus, TrueNAS, Unraid). Jellyfin пробрасывает GPU через /dev/dri для Intel или --gpus all для NVIDIA. Снаружи — reverse proxy с TLS, доступ через VPN типа Tailscale или Cloudflare Tunnel.
1. Jellyfin — основной выбор в 2026
Jellyfin — это форк Emby 3.5.2 от 2018 года, ушедший в чистый FOSS. На апрель 2026 актуальная версия — 10.11.8. Это форк форка проекта который изначально был форком, и звучит как мем, но работает оно отлично.
Что умеет Jellyfin
- Видео: H.264, H.265/HEVC, AV1, VP9, MPEG-2, контейнеры MKV/MP4/TS
- Аудио: FLAC, ALAC, MP3, AAC, Opus, Vorbis, DSD через транскодинг
- Аппаратный транскодинг: Intel Quick Sync (QSV), NVIDIA NVENC, AMD VAAPI/AMF, Apple VideoToolbox, Raspberry Pi V4L2
- HDR: HDR10, HDR10+, Dolby Vision (с тонмаппингом)
- Subtitles: PGS, SRT, ASS/SSA, VTT
- Live TV + DVR через HDHomeRun, TVHeadend, IPTV M3U
- Книги (через плагин Bookshelf), музыка (полноценно), подкасты, фотографии
- Клиенты: web, Android, Android TV, iOS, Roku, Samsung Tizen, LG webOS, Kodi-плагин, Symfonium для музыки
Что нового в 10.11
Релиз 10.11 от октября 2025 — один из самых крупных за всю историю проекта. Перешли на EF Core для базы, добавили нативные бэкапы прямо из дашборда, переписали часть веб-UI. На больших библиотеках (10 000+ айтемов) пока есть регрессии по скорости загрузки — точечные релизы 10.11.2 и далее их закрывают, последний 10.11.8 от апреля 2026 закрывает регрессии 10.11.7 и важные CVE.
Установка через Docker — основной сценарий
Создай compose-файл. Я предполагаю что у тебя Linux с Docker и Intel iGPU — самая частая конфигурация на NAS и homelab.
services:
jellyfin:
image: jellyfin/jellyfin:10.11.8
container_name: jellyfin
user: 1000:1000
network_mode: host
volumes:
- ./config:/config
- ./cache:/cache
- /mnt/media:/media:ro
devices:
- /dev/dri:/dev/dri
group_add:
- "109" # render group в Debian/Ubuntu
restart: unless-stopped
environment:
- JELLYFIN_PublishedServerUrl=http://192.168.1.10:8096
Подними:
docker compose up -d
docker logs -f jellyfin
Открой http://твой-ip:8096. Пройди мастер: язык, админ, библиотеки. Указывай /media/movies, /media/tv и так далее как ты их смонтировал внутрь контейнера.
Аппаратный транскодинг — где обычно ломается
Главная боль при первой установке — GPU не пробрасывается. Проверь:
ls -la /dev/dri/
# должны быть card0 и renderD128
# проверь к какой группе привязан renderD128
stat -c "%G %g" /dev/dri/renderD128
# обычно render с GID 109 на Debian/Ubuntu, 989 на Fedora
# внутри контейнера
docker exec -it jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -hwaccels
Если в выводе есть vaapi и qsv — GPU виден. Идёшь в Dashboard — Playback — Transcoding и выбираешь Intel QuickSync (QSV), указывай /dev/dri/renderD128. Включи Tone Mapping для HDR-контента.
Плюсы Jellyfin
- Полный пакет: видео, музыка, книги, ТВ — всё в одном
- Аппаратный транскодинг бесплатно для всех GPU
- Огромная экосистема клиентов — даже на старом Samsung Tizen есть Jellyfin Tizen
- Активная разработка: семь лет проекту, к декабрю 2025 отметили
Минусы Jellyfin
- Веб-UI местами не такой полированный как Plex
- На больших библиотеках 10.11 медленнее чем 10.10 (фиксят)
- Нет встроенного Discovery вне локальной сети — надо разбираться с reverse proxy/VPN
- Иногда метаданные подбираются криво, надо ручками править
2. Kodi — если фронт важнее бэка
Kodi — это HTPC-софт, не сервер в традиционном смысле. Ты ставишь его на тот же ТВ-бокс или Pi что подключён к телевизору, и он сам играет файлы из сетевой папки. Может работать как UPnP-сервер, но это побочная функция.
На май 2026 актуальная стабильная — 21.3 «Omega». 22 «Piers» в Alpha 3 с конца марта 2026, релиз скоро. Версия 22 принесла поддержку PipeWire на Linux, улучшенный AV1 hardware decode, FFmpeg 8.0.1, поддержку Wayland Color Management для HDR.
Kodi имеет смысл если:
- У тебя есть x86 mini-PC, Raspberry Pi или Android TV-бокс воткнутый прямо в телевизор
- Ты хочешь интерфейс на 10-foot UI — управление с пульта, крупный шрифт
- Тебе нужны сторонние аддоны: PVR-клиенты для IPTV, скиннинг, скрейперы
- Ты хочешь LibreELEC — минимальный дистрибутив только под Kodi, грузится за 15 секунд
Kodi не имеет смысла как «центральный сервер для всех устройств в доме». Для этого тебе всё равно нужен отдельный медиа-сервер — Jellyfin или Gerbera — а Kodi подключается к нему как клиент.
Связка Jellyfin + Kodi-плагин Jellycon/Jellyfin for Kodi — очень популярная схема: на сервере Jellyfin метаданные и стриминг, на телевизоре Kodi с красивым TV-интерфейсом.
3. Universal Media Server (UMS) — DLNA с турбонаддувом
UMS — форк PS3 Media Server, написанный на Java. Версия 15.5.0 от февраля 2026 добавила поддержку телевизоров LG и Samsung 2026 года выпуска, нативный Dolby Vision в MKV для LG TV 2022+, фолдер-серч.
Главная фишка UMS — агрессивный транскодинг под капризные старые устройства. Если у тебя Sony Bravia 2012 года которая отказывается понимать MKV с FLAC внутри — UMS на лету перекодирует это в формат который телевизор сожрёт. Под капотом FFmpeg, MEncoder, tsMuxeR, AviSynth, VLC.
Из коробки видит PS3, Xbox, Roku, Apple TV, FireTV, всё семейство Smart TV (LG, Samsung, Sony, Panasonic), DLNA-приёмники, Sonos, ресиверы Yamaha/Denon.
Установка UMS на Linux через Docker
services:
ums:
image: universalmediaserver/ums:15.5.0
container_name: ums
network_mode: host
volumes:
- ./ums-config:/root/.config/UMS
- /mnt/media:/media:ro
restart: unless-stopped
Веб-интерфейс — на порту 9001. Веб-плеер — на 9001 в /web/. DLNA-broadcast работает только в host network mode — не пытайся пихать UMS в bridge, не увидят его телевизоры.
Плюсы: ставишь и оно работает с любым устройством. Минусы: Java-процесс жрёт 400-700 МБ RAM на простое, веб-UI довольно технический, мобильного клиента нет (только сторонние UPnP-плееры).
4. Gerbera — чистый UPnP без бубна
Gerbera — наследник MediaTomb. C++, libupnp/libnpupnp под капотом. Версия 3.2.1 от 2026 года. Это не медиа-плеер с веб-плеером, это бэкенд который раздаёт твою библиотеку по UPnP/DLNA. Веб-интерфейс есть, но он для администрирования базы и просмотра файловой структуры, не для просмотра кино.
Кому Gerbera:
- Тебе нужен лёгкий DLNA-сервер на Pi или старом мини-ПК
- Воспроизведение через нативные DLNA-приложения телевизора, BubbleUPnP, VLC, Kodi
- Тебе важна тонкая настройка через config.xml — layout, кастомные JS-скрипты импорта
- Транскодинг через FFmpeg-вызовы из конфига — с тонкой настройкой профилей под устройство
Запуск Gerbera
services:
gerbera:
image: gerbera/gerbera:3.2.1
container_name: gerbera
network_mode: host
volumes:
- ./gerbera-config:/var/run/gerbera
- /mnt/media:/media:ro
restart: unless-stopped
После запуска зайди на http://ip:49152. В первом окне получи токен из логов:
docker logs gerbera 2>&1 | grep -i "token"
Токен вводишь, создаёшь админ-аккаунт, добавляешь библиотеку через File system — правый клик — Add. Через минуту телевизор увидит «Gerbera» в списке DLNA-источников.
RAM idle — 30 МБ. На Raspberry Pi 3B+ работает без вопросов. Главный минус — нет веб-плеера. Если хочется плеер — Jellyfin.
5. ReadyMedia (MiniDLNA) — самый лёгкий
ReadyMedia — переименованный MiniDLNA. C, около 15 МБ RAM, конфиг в одном файле, никакой веб-морды. Идеален когда нужно просто отдать одну папку с фильмами одному телевизору и забыть.
sudo apt install minidlna
sudo nano /etc/minidlna.conf
Минимальный конфиг:
media_dir=V,/mnt/media/movies
media_dir=A,/mnt/media/music
media_dir=P,/mnt/media/photos
db_dir=/var/cache/minidlna
log_dir=/var/log
inotify=yes
friendly_name=HomeServer
sudo systemctl enable --now minidlna
sudo systemctl status minidlna
Всё. Телевизор увидит сервер. Метаданных не подтягивает, обложек нет, транскодинга нет, но если у тебя коллекция MP4/MKV которые телевизор и так понимает — этого достаточно. Проект не очень активный, но работает годами без проблем.
6. Rygel — DLNA для GNOME
Rygel — часть проекта GNOME, DLNA/UPnP сервер на основе GStreamer. Версия 0.42. Имеет смысл если у тебя GNOME-десктоп и ты хочешь расшарить локальные папки в один клик через файл-менеджер. Как «домашний центральный сервер» — не очень, но как инструмент desktop-юзера годится.
sudo apt install rygel
rygel
Конфигурация в ~/.config/rygel.conf. По умолчанию шарит Music, Videos, Pictures из домашней папки. Транскодинг идёт через GStreamer-плагины, поэтому установи дополнительные:
sudo apt install gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-libav
Если у тебя есть нормальная коллекция музыки — бери Navidrome. Это лучший open source медиа сервер для музыки в 2026, без вариантов. Версия 0.61.2 от апреля 2026, активная разработка, плагины на WebAssembly с 0.60.
Что я люблю:
- 30 000 треков укладываются в 50 МБ RAM
- Subsonic API — десятки клиентов: Symfonium, play:Sub, DSub, Ultrasonic, Substreamer
- Smart playlists, scrobbling в Last.fm и ListenBrainz
- Поиск на SQLite FTS5 с BM25 — реально быстрый
- Multi-user, у каждого свои плейлисты, фавориты, история
- Транскодинг на лету — FLAC за городом превращается в Opus 96k
Запуск Navidrome
services:
navidrome:
image: deluan/navidrome:0.61.2
container_name: navidrome
user: 1000:1000
ports:
- "4533:4533"
environment:
ND_LOGLEVEL: info
ND_SCANSCHEDULE: "@every 24h"
ND_TRANSCODINGCACHESIZE: "1024MiB"
ND_SESSIONTIMEOUT: 24h
volumes:
- ./data:/data
- /mnt/music:/music:ro
restart: unless-stopped
Заходишь на http://ip:4533, создаёшь админа, ждёшь первичный скан (первые 100к треков — около 10 минут на NVMe). На телефон ставишь Symfonium (платный, $7) или DSub/Substreamer (бесплатный) — вводишь URL и пароль, всё работает.
Минус один: только музыка. Не хочет быть всем сразу, и это правильно.
8. Funkwhale — музыка с федерацией
Funkwhale — это Navidrome, скрещенный с Mastodon. Federated через ActivityPub — можешь подписаться на других пользователей и слышать их публичные плейлисты. Идея красивая, инсталляция тяжёлая.
Версия 1.4. Stack: Django + PostgreSQL + Redis + Celery + nginx. RAM idle — 600+ МБ. На Pi не запустишь, нужен нормальный сервер с 2-4 ГБ.
Имеет смысл если ты хочешь музыкальный fediverse — аналог Mastodon для меломанов. Если нужен только личный Spotify без публичной активности — Navidrome лучше во всём.
9. Lyrion Music Server (LMS) — hi-fi мульти-рум
Бывший Logitech Media Server. После того как Logitech закрыл железо Squeezebox, проект ушёл в community и переименовался в Lyrion. Версия 9.1.1.
LMS живёт в нише multi-room hi-fi. Если у тебя несколько Squeezebox-плееров (или их эмуляторов — Squeezelite, piCorePlayer на Raspberry Pi с DAC) — LMS их синхронно играет. Можешь иметь одну музыку в трёх комнатах в перфектном sync. Это не умеет ни Navidrome, ни Jellyfin.
Поддерживает FLAC до 24/192, DSD, gapless playback, мощные плагины (Spotify, Tidal, Qobuz, BBC iPlayer).
services:
lms:
image: lmscommunity/lyrionmusicserver:9.1.1
container_name: lyrion
hostname: lyrion
ports:
- "9000:9000/tcp"
- "9090:9090/tcp"
- "3483:3483/tcp"
- "3483:3483/udp"
volumes:
- ./config:/config
- /mnt/music:/music:ro
- /etc/localtime:/etc/localtime:ro
environment:
- PUID=1000
- PGID=1000
restart: unless-stopped
10. Audiobookshelf — аудиокниги и подкасты
Audiobookshelf — не для фильмов и не для музыки. Это самостоятельная категория — аудиокниги, подкасты и e-books. Своя нативная Android-app, iOS в TestFlight, sync прогресса между устройствами. Скрейпит метаданные с Audible, Google Books, Open Library.
Если ты тонешь в подписках на Audible и хочешь ужарить весь свой архив MP3-аудиокниг в одно место — это оно. Jellyfin технически тоже умеет аудиокниги, но криво. Audiobookshelf делает это правильно.
services:
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: audiobookshelf
ports:
- "13378:80"
volumes:
- ./config:/config
- ./metadata:/metadata
- /mnt/audiobooks:/audiobooks
- /mnt/podcasts:/podcasts
restart: unless-stopped
Рецепт: разворачиваем Jellyfin от нуля до рабочего сервера
Считаю что у тебя свежий Ubuntu Server 24.04 LTS на железе с Intel iGPU (любой Core 8-го поколения и новее). Если у тебя Synology или Unraid — принцип тот же, только GUI поверх Docker.
Подготовка системы
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl ca-certificates intel-media-va-driver-non-free vainfo
Проверь что VAAPI поднялся:
vainfo
# должно показать VAEntrypointVLD для H264, HEVC, VP9, AV1 в зависимости от поколения
Если vainfo ругается на permissions — добавь юзера в группу render:
sudo usermod -aG render $USER
sudo usermod -aG video $USER
newgrp render
Установка Docker
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
newgrp docker
docker compose version
Структура папок
sudo mkdir -p /opt/jellyfin/{config,cache}
sudo chown -R 1000:1000 /opt/jellyfin
# структура медиа - важно
sudo mkdir -p /mnt/media/{movies,tv,music,books}
docker-compose.yml
services:
jellyfin:
image: jellyfin/jellyfin:10.11.8
container_name: jellyfin
user: 1000:1000
network_mode: host
volumes:
- /opt/jellyfin/config:/config
- /opt/jellyfin/cache:/cache
- /mnt/media:/media:ro
devices:
- /dev/dri:/dev/dri
group_add:
- "109"
- "44"
environment:
- JELLYFIN_PublishedServerUrl=http://192.168.1.10:8096
- TZ=Europe/Moscow
restart: unless-stopped
Поднимаем:
cd /opt/jellyfin
docker compose up -d
docker logs -f jellyfin
Логи должны пройти миграции базы и запуститься на порту 8096. Открывай http://твой-ip:8096.
Первый запуск — визард
- Язык — русский
- Админ-логин и пароль — не jellyfin/jellyfin, серьёзно
- Библиотеки — добавь как минимум Movies (
/media/movies), TV Shows (/media/tv), Music (/media/music) - В настройках библиотеки выбери Real-time monitoring чтобы новые файлы появлялись сразу
- Metadata language — русский, country — Russia
- Auth via local network — да, доступ снаружи — нет (на этом этапе)
Включаем аппаратный транскодинг
Dashboard — Playback. Параметры:
- Hardware acceleration: Intel QuickSync (QSV)
- QSV Device:
/dev/dri/renderD128 - Enable hardware decoding: H.264, HEVC, VP9, AV1 (если CPU поддерживает — 11th gen+)
- Enable HEVC encoding: да
- Enable AV1 encoding: только если у тебя Intel Arc или 11th gen+
- Enable Tone mapping: да (для HDR)
- Tone mapping algorithm: bt2390
- Throttle transcodes: да
Проверка — всё работает?
Базовая sanity-проверка после установки:
# контейнер живёт
docker ps | grep jellyfin
# порт слушается
ss -tlnp | grep 8096
# свежие логи без ошибок
docker logs --tail 100 jellyfin 2>&1 | grep -iE "error|fatal"
# GPU видно из контейнера
docker exec jellyfin /usr/lib/jellyfin-ffmpeg/ffmpeg -hide_banner -hwaccels
Запусти видео в плеере, перемотай на середину файла. Открой Dashboard — Playback — в реальном времени должна появиться сессия. Если в строке Transcoding пусто — идёт Direct Play (хорошо). Если есть «Transcoding (qsv)» — аппаратный транскодинг работает (тоже хорошо). Если «Transcoding (CPU)» — HW не подцепился, перепроверь конфиг.
Параллельно на сервере:
# нагрузка GPU при транскодинге
sudo intel_gpu_top
# в строке Video должны быть ненулевые проценты
Осложнения — типовые грабли и как их обойти
# узнай GID render на хосте
getent group render | cut -d: -f3
# пропиши его в group_add контейнера, перезапусти
docker compose down && docker compose up -d
# проверь broadcast
sudo tcpdump -i eth0 udp port 1900
# должны лететь M-SEARCH запросы от телевизора и NOTIFY от сервера
Решение — поставь network_mode: host в compose. Если хочешь bridge — используй macvlan-сеть и публикуй контейнер с собственным IP в локальной сети.
# обнови до последней
docker pull jellyfin/jellyfin:10.11.8
docker compose up -d --force-recreate
Дополнительно отключи в настройках библиотеки лишнее — Real-time monitoring если папок много, Chapter image extraction для всей библиотеки сразу.
Для Intel Quick Sync HDR tone mapping работает с 8-го поколения и новее. Для AMD VAAPI — с RDNA2 (RX 6000+). Для NVIDIA — с Pascal+. Включи в Dashboard — Playback — Tone mapping. Алгоритм — bt2390. Если картинка тёмная — убавь Tone mapping desaturation в 0.5.
# одноразовый перекод 4K HEVC в 1080p H.264 для совместимости
ffmpeg -i input.mkv -c:v libx264 -crf 20 -preset slow \
-c:a aac -b:a 192k -vf scale=1920:-2 output.mp4
Сравнение по сценариям — что брать в твоём случае
Универсальный сервер (видео+музыка+книги)
Jellyfin. Без вариантов. Альтернатива — Emby (но он уже не полностью FOSS) или Plex (но смотри начало статьи).
Только музыка
Navidrome для 99% случаев. LMS если у тебя hi-fi multi-room на Squeezebox/piCorePlayer. Funkwhale если хочешь федерацию.
Аудиокниги и подкасты
Audiobookshelf. У него своя ниша, своя app, и Jellyfin тут проигрывает.
Максимальная совместимость с Smart TV / приставками (DLNA)
Universal Media Server для агрессивного транскодинга на старых ТВ. Gerbera для современных ТВ, которые умеют HEVC и не нуждаются в перекодировке. MiniDLNA если железо слабое и нужен минимум.
Минимальное потребление ресурсов
MiniDLNA (~15 МБ RAM) и Gerbera (~30 МБ). Navidrome для музыки (~50 МБ). На Raspberry Pi Zero 2W будет жить любая из этих троек.
4K/HDR с аппаратным транскодингом
Jellyfin с Intel Quick Sync (11th gen+ для AV1), NVIDIA RTX 30+ или AMD RX 6000+. Из старых GPU нормально жмут только 8th-10th gen Intel iGPU.
HTPC прямо в телевизор
Kodi или LibreELEC на NVIDIA Shield, x86 mini-PC или Raspberry Pi 5.
Профилактика — не наступать на грабли
Бэкапы
Что бэкапить в Jellyfin:
/config— база, настройки, метаданные, плейлисты/cache— не нужен, регенерируется- Сами файлы медиа — на отдельном сторадже с собственной стратегией
В 10.11 встроены нативные бэкапы. Dashboard — Scheduled Tasks — Backup Database. Расписание — раз в неделю. Хранить 4 копии. Дополнительно я делаю rsync /config на NAS:
# /etc/cron.daily/jellyfin-backup
#!/bin/bash
DATE=$(date +%Y%m%d)
rsync -a --delete /opt/jellyfin/config/ /mnt/backup/jellyfin/$DATE/
find /mnt/backup/jellyfin/ -maxdepth 1 -mtime +14 -exec rm -rf {} \;
sudo chmod +x /etc/cron.daily/jellyfin-backup
Мониторинг
Минимум — HTTP-проверка. Если ты запустил Uptime Kuma — добавь http://localhost:8096/health в монитор, оно вернёт 200 OK когда сервер живой.
Для полноценного мониторинга — Prometheus + jellyfin-exporter. Снимает активные сессии, время транскодинга, статус GPU. Графана-дашборд готовый есть в коммьюнити.
Безопасность
Минимальный hardening если выставляешь Jellyfin в интернет:
- Никогда не публикуй порт 8096 наружу напрямую. Только через reverse proxy с TLS — Caddy или Traefik
- Включи HSTS, отключи слабые TLS-цифры
- fail2ban на /Users/AuthenticateByName endpoint — блокировка по 3 неудачным попыткам
- Лучше не публиковать в публичный интернет вообще, а ходить через Tailscale или WireGuard — mesh-VPN
- Cloudflare Tunnel вместо проброса порта — не открывает 443 на маршрутизаторе
- Отдельный пользователь с правами read-only на медиа-том
- UFW:
sudo ufw allow from 192.168.0.0/16 to any port 8096и больше ничего
В 2025-м был кейс — LastPass поломали через outdated Plex-сервер у инженера. Урок: self-hosted — это не «поставил и забыл». Это «поставил, настроил автообновления, мониторишь CVE».
# простой watchtower для автообновления контейнеров
docker run -d --name watchtower \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--schedule "0 0 4 * * *" \
--cleanup \
jellyfin
Не ставь watchtower на критичные prod-сервисы без тестового окружения. Для домашнего сценария — норм.
Автозапуск
restart: unless-stopped в docker-compose — этого достаточно. После ребута сервера контейнеры поднимутся сами. Дополнительно проверь что docker.service в автозагрузке:
sudo systemctl enable docker
sudo systemctl is-enabled docker
Системные требования — что нужно физически
| Сценарий | CPU | RAM | GPU | Диск | Сеть |
|---|---|---|---|---|---|
| Только музыка (Navidrome) | Pi 4 / любой x86 | 1 ГБ | не нужен | SSD 32 ГБ под систему | 1 Gbps LAN |
| 1080p Direct Play | Celeron J4125 / Pi 5 | 2 ГБ | не нужен | SSD 64 ГБ + HDD под медиа | 1 Gbps |
| 1080p Transcode 1-2 потока | i3-8100+ / Ryzen 3 5300G | 4 ГБ | iGPU UHD 630+ | SSD 128 ГБ + HDD | 1 Gbps |
| 4K HEVC HDR transcode | i5-11400+ / Ryzen 5 7600 | 8 ГБ | iGPU UHD 730+ или RTX 3050+ | NVMe + RAID HDD | 2.5 Gbps желательно |
| 4-6 одновременных 4K transcode | i5-13500+ / Xeon E-2378G | 16 ГБ | Intel Arc A380+ или RTX 4060 | NVMe + RAID HDD 8TB+ | 2.5-10 Gbps |
На момент публикации актуальна версия Jellyfin 10.11.8, Navidrome 0.61.2, Gerbera 3.2.1, UMS 15.5.0, Kodi 21.3 Omega. Перед установкой проверь свежие релизы на GitHub проекта.
Таблица портов
| Сервис | Порт | Протокол | Назначение | Открывать наружу? |
|---|---|---|---|---|
| Jellyfin HTTP | 8096 | TCP | Web UI и API | Только через reverse proxy |
| Jellyfin HTTPS | 8920 | TCP | HTTPS если без proxy | Нет, лучше Caddy/Traefik |
| Jellyfin Discovery | 1900 | UDP | SSDP/DLNA broadcast | Только LAN |
| Jellyfin Auto-discover | 7359 | UDP | Поиск сервера клиентами | Только LAN |
| Navidrome | 4533 | TCP | Web UI и Subsonic API | Только через reverse proxy |
| Gerbera | 49152 | TCP | UPnP web UI | Нет |
| Lyrion (LMS) Web | 9000 | TCP | Web UI | Только LAN |
| Lyrion Squeezebox | 3483 | TCP+UDP | Протокол плееров | Только LAN |
| UMS | 9001 | TCP | Web admin/player | Только LAN |
| Audiobookshelf | 13378 | TCP | Web UI и API | Только через reverse proxy |
Альтернативы — что я в этой статье не разбирал
Список не полон, но эти проекты тоже встретишь:
- Emby — предок Jellyfin, частично проприетарный с 2018-го. Премиум-функции платные. Если не хочешь тратить — бери Jellyfin.
- Ampache — старая Subsonic-совместимая платформа. Жив, но Navidrome обогнал по UX.
- Gonic — Go-имплементация Subsonic API. Очень лёгкий, но Navidrome полнее по фичам.
- Airsonic-Advanced — форк форка Subsonic. Ещё работает, но активность ниже Navidrome.
- OwnTone (forked-daapd) — DAAP-сервер для AirPlay, лёгкий, нишевый.
- Roon — проприетарный hi-fi сервер. Платный, но не open source.
- Stash — тоже медиа-сервер, для специфичного контента, не разбираем тут.
- Komga / Kavita — для комиксов и манги. Если у тебя коллекция CBZ — смотри их, не Jellyfin.
FAQ — часто задаваемые вопросы
Чем Jellyfin отличается от Plex в 2026 году?
Jellyfin полностью бесплатный и open-source. Аппаратный транскодинг, удалённый доступ, мобильные клиенты, DVR — всё включено. Plex с 2025 года требует Plex Pass ($6.99/мес или $249.99 lifetime) для удалённого стриминга и часть фичей. Качество интерфейса у Plex чуть выше, экосистема клиентов шире, но overall за нулевую цену Jellyfin закрывает 90% сценариев.
Почему DLNA-сервер не виден на телевизоре после настройки?
Чаще всего проблема в Docker bridge network — SSDP-broadcast по UDP 1900 не проходит между сетями. Перезапусти контейнер с network_mode: host. Если хост-режим не подходит — используй macvlan-сеть или поставь сервер прямо на хост, не в контейнер. Проверь UFW/iptables: sudo ufw allow from 192.168.0.0/16.
Какой open source медиа сервер лучше для NAS?
Зависит от железа NAS. Synology Plus и Unraid с x86 Intel — бери Jellyfin с Quick Sync. Synology Value/J без iGPU — Navidrome для музыки и Gerbera для DLNA, Jellyfin потянет только Direct Play без транскодинга. TrueNAS Scale — Jellyfin через App Catalog или вручную через Docker.
Как проверить что аппаратный транскодинг работает в Jellyfin?
Запусти видео которое требует перекодировки (например 4K в 1080p) и зайди в Dashboard — Playback. В строке активной сессии будет «Transcoding (qsv)» или «Transcoding (nvenc)» — это HW. Если «Transcoding (CPU)» — используется только процессор. На сервере параллельно запусти intel_gpu_top или nvidia-smi — увидишь нагрузку на GPU.
Можно ли запустить Jellyfin на Raspberry Pi?
Можно, но с оговорками. Pi 4 и Pi 5 запускают Jellyfin, но аппаратное декодирование на них ограничено — V4L2 поддерживает H.264 и частично HEVC, AV1 — нет. Direct Play 1080p MP4 работает идеально. Транскодинг 4K на Pi 5 — не вытягивает. Если коллекция в основном 1080p H.264 — Pi подходит.
Что делать если Jellyfin тормозит при сканировании библиотеки?
В версии 10.11 после миграции на EF Core есть регрессии на больших библиотеках. Обнови до последнего минора (10.11.8 закрывает много бажков). Отключи Real-time monitoring в настройках библиотеки если папок очень много, выключи Chapter image extraction для всей библиотеки. Если совсем плохо — откатись на 10.10.x как временная мера, но без ключевых обновлений безопасности.
Чем Navidrome отличается от Funkwhale?
Navidrome — чистый локальный музыкальный сервер. Лёгкий, простой, Subsonic API, отличные мобильные клиенты. Funkwhale — федеративная платформа с ActivityPub: можешь подписываться на других пользователей и их публичные плейлисты как в Mastodon. Funkwhale тяжелее (Django+PostgreSQL+Redis+Celery, 600 МБ RAM против 50 у Navidrome). Если нужен личный Spotify — Navidrome. Если хочешь fediverse для меломанов — Funkwhale.
Безопасно ли выставлять Jellyfin в интернет?
Прямой проброс порта — небезопасно: были CVE в Jellyfin (последние закрыты в 10.11.7), отдельные конфигурации могут быть уязвимы. Безопасный путь: reverse proxy с TLS (Caddy, Traefik), fail2ban на endpoint логина, регулярные обновления. Лучше — mesh-VPN типа Tailscale: видны только устройствам в твоей сети, никаких открытых портов на роутере. Cloudflare Tunnel — тоже годится.
Прогноз — что мы получили
Поставили Jellyfin 10.11.8 на Linux в Docker, прокинули Intel iGPU для аппаратного транскодинга, настроили библиотеки видео, музыки и книг, разобрались с DLNA для старых телевизоров через Gerbera или UMS, добавили Navidrome если хочется отдельный музыкальный сервер с лёгкими мобильными клиентами. Сделали бэкапы, накрыли reverse proxy, не выставили ничего наружу без VPN.
Теперь у тебя есть полный self-hosted media stack 2026 года, без подписок, без телеметрии, без сюрпризов от вендора. Plex может закручивать гайки сколько угодно — тебя это уже не касается. Если конкретный шаг не зашёл или валится с ошибкой которую я не описал — пиши в комментарии, разберёмся.
Оставайтесь на связи
Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.
Подписаться на IT-Аптеку →



Использую Plex уже 5 лет. После того как они стали требовать аккаунт для локального просмотра начал смотреть на альтернативы. Jellyfin реально такой же функциональный?
Jellyfin закрывает 90% того что делает Plex и совершенно бесплатно. Есть клиенты для всех платформ, транскодирование, управление библиотеками, субтитры. Не хватает разве что некоторых плагинов и интеграций которые есть в Plex Pass. Аппаратное транскодирование в Jellyfin работает через VAAPI/NVENC — нужно настроить но работает хорошо. Большинство бывших Plex пользователей остаются на Jellyfin после перехода.
А Emby рассматривали? Он между Plex и Jellyfin по функциям и цене?
Emby — да, он посередине. Базовые функции бесплатны, Emby Premiere за $99 добавляет оффлайн синхронизацию, Live TV и некоторые другие фичи. Jellyfin это форк старого Emby до того как он стал частично платным. Если не нужны специфические фичи Emby Premiere — Jellyfin лучший выбор как полностью бесплатный вариант с активным open source развитием.
На каком железе лучше запускать медиасервер? У меня старый Core i5-3470, хватит для Jellyfin?
i5-3470 для Jellyfin вполне подойдёт при прямом воспроизведении без транскодирования. Транскодирование в 1080p потребует CPU ресурсов — 1-2 потока одновременно он вытянет. 4K транскодирование на нём будет тяжело. Если в сети есть клиенты которые поддерживают прямое воспроизведение H.264 — транскодирование вообще не нужно и любое железо справится. Добавь побольше RAM — 8GB минимум для комфортной работы.