Конструктор Docker Compose для Jellyfin
Создайте compose.yaml для Jellyfin. Выберите официальный образ или образ LinuxServer.io, порты и сетевой режим, папки с медиаданными, а также аппаратное ускорение Intel, AMD или NVIDIA, а затем получите готовый к запуску файл.
Ввод
Вывод
- Запуск Jellyfin в контейнере поддерживается только в Linux. В Windows и macOS установите Jellyfin напрямую.
Документация
Что такое Jellyfin?
Jellyfin — это бесплатный медиасервер с открытым исходным кодом. Он передаёт ваши фильмы, сериалы, музыку и фотографии в браузеры, на телефоны, телевизоры и другие устройства, а также может выполнять транскодирование видео на лету. Проект предоставляет официальный образ jellyfin/jellyfin, который также публикуется как ghcr.io/jellyfin/jellyfin. Проект LinuxServer.io предлагает другой образ — lscr.io/linuxserver/jellyfin — со своими папками и переменными.
Описание инструмента
Этот инструмент создаёт файл compose.yaml для Jellyfin на основе руководства по установке проекта. Вы выбираете образ и тег, порты и сетевой режим, пользователя, папки для конфигурации и cache, а также любое количество папок с медиаданными, которые можно подключить только для чтения. При использовании официального образа можно также подключить папки с пользовательскими и резервными шрифтами. Для видеокарты инструмент добавляет параметры, описанные в документации Jellyfin: /dev/dri и группу render для Intel и AMD либо runtime NVIDIA и резервирование GPU для NVIDIA. При выборе образа LinuxServer.io файл изменяется с учётом использования PUID, PGID и TZ вместо user. Всё создаётся в браузере.
Возможности
- Официальный образ из Docker Hub или GitHub Container Registry либо образ LinuxServer.io с любым тегом
- Режим bridge с портами 8096 и 7359/udp, необязательным HTTPS-портом 8920 и адресом привязки либо режим host, необходимый для DLNA
- Опубликованный URL сервера для клиентов, которые обнаруживают сервер
- Пользователь в формате
uid:gidдля официального образа либоPUID,PGIDи часовой пояс для LinuxServer.io - Конфигурация и cache на хосте или в именованных томах Docker, которые объявляются автоматически
- Несколько папок с медиаданными, для каждой из которых можно указать путь в контейнере и включить подключение только для чтения
- Пользовательские и резервные шрифты для субтитров, которые встраиваются при транскодировании
- Аппаратное ускорение с помощью VA-API или QSV для Intel и AMD либо NVENC для NVIDIA
- Любая другая переменная окружения, комментарии с пояснениями к файлу и скачивание файла как
compose.yaml
Примеры
Настройки по умолчанию создают пример из документации Jellyfin, где папки находятся рядом с файлом:
services:
jellyfin:
image: jellyfin/jellyfin
container_name: jellyfin
ports:
- "8096:8096"
- "7359:7359/udp"
volumes:
- ./config:/config
- ./cache:/cache
- /path/to/media:/media
restart: unless-stoppedВыбор аппаратного ускорения NVIDIA добавляет runtime и резервирование GPU:
runtime: nvidia
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities:
- gpuСоветы
- Сохраните результат как
compose.yamlи запустите его с помощьюdocker compose up -d. Затем откройтеhttp://localhost:8096и добавьте папки с медиаданными в качестве библиотек, используя пути внутри контейнера - Запуск Jellyfin в контейнере поддерживается только в Linux. В Windows и macOS устанавливайте Jellyfin напрямую, поскольку известно, что аппаратное ускорение и сканирование библиотек работают в контейнерах нестабильно
- Узнайте ID группы render на хосте с помощью команды
getent group render | cut -d: -f3. В некоторых системах эта группа называетсяvideoилиinput - Для NVIDIA сначала установите на хосте драйвер NVIDIA и NVIDIA Container Toolkit
- После включения аппаратного ускорения в контейнере активируйте его в панели управления Jellyfin в разделах «Воспроизведение» и «Транскодирование»
- DLNA — это плагин, которому требуется режим host, поскольку обнаружение использует широковещательные сообщения через порт 1900/udp, не проходящие через bridge
- Официальный проект и LinuxServer.io хранят данные своих образов в разных местах, поэтому нельзя заменить один образ другим в уже существующей папке
- Подключайте медиаданные только для чтения, если Jellyfin не требуется изменять их