Jellyfin на TrueNAS: Установка, настройка, транскодирование | Гайд 2024 | AdminWiki

Jellyfin на TrueNAS: Полное руководство по установке и настройке медиасервера

16 января 2026 8 мин. чтения #docker #homelab #jellyfin #plex-alternative #selfhosted #truenas #медиасервер

Представь, что у тебя есть мощный NAS на базе TrueNAS, заполненный терабайтами фильмов, сериалов и музыки. Но чтобы получить к этому контенту удобный доступ с любого устройства, с красивыми обложками, метаданными и транскодированием "на лету", нужен медиасервер. Jellyfin — это идеальное open-source решение, и сегодня я, как твой DevOps-ментор, покажу, как развернуть его на TrueNAS Scale так, чтобы всё работало как часы.

Почему именно Jellyfin на TrueNAS Scale?

Давай разберем преимущества этой связки, прежде чем переходить к технической части:

  • Полный контроль: Никакой подписки, никаких ограничений. Весь софт — open source.
  • Мощное железо: TrueNAS обычно работает на серверных компонентах, что идеально для ресурсоемкого транскодирования видео.
  • Интеграция хранилища: Прямой доступ к твоим ZFS-пулам и датасетам из контейнера.
  • Централизованное управление: Весь твой медиа-стек управляется через единый веб-интерфейс TrueNAS.
Важно: Это руководство ориентировано на TrueNAS SCALE (основан на Linux и Kubernetes), а не на CORE (FreeBSD). На Scale установка через Docker/Apps гораздо проще и функциональнее.

Подготовка TrueNAS Scale к установке Jellyfin

Перед тем как нажать кнопку "Установить", нужно подготовить почву. Представь, что это настройка stage-окружения для нового микросервиса.

Шаг 1: Создание Dataset'ов для медиа и конфигурации

Не храни конфиги и медиафайлы в одном месте. Создай отдельные датасеты для лучшей организации и возможности делать снэпшоты только конфигов.

  1. Зайди в Datasets в боковом меню TrueNAS.
  2. Выбери пул, где хочешь хранить данные (например, tank).
  3. Нажми Add Dataset и создай:
    • tank/apps/jellyfin-config — для конфигурационных файлов.
    • tank/media/movies — для фильмов.
    • tank/media/tvshows — для сериалов.
    • tank/media/music — для организации твоей TrueNAS music библиотеки под Jellyfin.
  4. Для датасета jellyfin-config в настройках ACL (Permissions) установи тип APPS — это важно для корректной работы контейнера.

Шаг 2: Настройка GPU для аппаратного транскодирования (опционально, но очень рекомендуется)

Если на твоем сервере есть дискретная видеокарта (NVIDIA или Intel Quick Sync), её можно "пробросить" в контейнер для разгрузки CPU.

bash
# Проверь, видит ли система GPU (выполни из Shell TrueNAS)
lspci | grep -i vga
# или для NVIDIA
nvidia-smi

Далее зайди в System Settings → Advanced и в разделе Isolated GPU Device(s) укажи ID твоей GPU (например, 0000:01:00.0). После перезагрузки система выделит её для контейнеров.

Внимание: Для NVIDIA GPU потребуется установить драйверы через Apps → Settings → Advanced Settings → Enable GPU Support и выбрать NVIDIA. TrueNAS скачает и установит нужные драйверы автоматически.

Установка Jellyfin через систему Apps (TrueNAS Catalog)

Это самый простой и рекомендуемый способ установки Jellyfin на TrueNAS Scale. Каталог Apps — это, по сути, репозиторий готовых Helm-чартов.

  1. Зайди в раздел Apps.
  2. Убедись, что каталоги обновлены. Нажми "Discover Apps", если список пуст.
  3. Найди "Jellyfin" в поиске или списке.
  4. Нажми "Install". Откроется форма конфигурации.

Конфигурация установки Jellyfin

Вот самые важные настройки, на которые нужно обратить внимание. Не пропускай этот раздел!

Параметр Значение / Описание Важность
Application Name jellyfin (можно оставить по умолчанию) Низкая
Version Выбери последнюю стабильную (stable) Средняя
Configuration Storage Host Path: Укажи созданный ранее /mnt/tank/apps/jellyfin-config
Mount Path: /config
Критическая
Media Storage Добавь несколько точек монтирования для каждой библиотеки:
1. Host Path: /mnt/tank/media/moviesMount Path: /media/movies
2. Host Path: /mnt/tank/media/tvshows/media/tvshows
3. Host Path: /mnt/tank/media/music/media/music
Критическая
Network & Services Service Type: ClusterIP (для доступа только внутри сети) или NodePort (если хочешь свой порт).
Чаще меняют на NodePort и задают порт, например, 8096 для веб-интерфейса.
Средняя
GPU Configuration Если настраивал GPU, в разделе Add выбери тип ресурса (nvidia.com/gpu или GPU) и укажи лимит (например, 1). Средняя

После заполнения нажми "Save". TrueNAS развернет контейнер с Jellyfin. Процесс займет несколько минут. Статус сменится на "Active" в основном меню Apps.

Первоначальная настройка Jellyfin и добавление библиотек

  1. Открой веб-интерфейс Jellyfin. В карточке приложения в Apps нажми "Web Portal" или перейди по адресу http://<IP_ТВОЕГО_TRUENAS>:8096.
  2. Пройди мастер первоначальной настройки: Выбери язык, создай административного пользователя.
  3. Добавление медиабиблиотек — ключевой момент:
    • Зайди в Dashboard → Libraries.
    • Нажми Add Media Library.
    • Content Type: Movies. Folder: Выбери /media/movies. Нажми OK.
    • Повтори для TV Shows (папка /media/tvshows) и для Music (папка /media/music). Вот так твоя TrueNAS music коллекция становится частью Jellyfin.
  4. Jellyfin начнет сканирование библиотек и загрузку метаданных (обложек, описаний).

Настройка транскодирования (Playback → Transcoding)

Зайди в Dashboard → Playback. Вот где пригодится GPU.

config
# Пример настроек для аппаратного транскодирования:
# Hardware Acceleration: Выбери в зависимости от GPU:
# - Intel Quick Sync: `Video Acceleration API (VAAPI)`
# - NVIDIA: `NVENC`
# - AMD: `AMD AMF`
#
# Транскодировать все медиафайлы в: H.264 (широко поддерживается).
# Максимальное количество одновременных трансформаций: 2-4 (зависит от мощности GPU).

Продвинутая настройка: Ручное редактирование через Helm-чарт

Если тебе не хватает опций в графическом интерфейсе установки (например, нужно добавить переменные среды или изменить аргументы запуска), можно отредактировать развернутое приложение.

  1. В карточке приложения Jellyfin в Apps нажми три точки () и выбери Edit.
  2. Перейди на вкладку Advanced Settings → Edit YAML.
  3. Добавь нужные параметры в секцию env или args. Например, для принудительного использования русского языка в интерфейсе:
yaml
# В секции основного контейнера (jellyfin) добавь:
env:
  - name: LANG
    value: "ru_RU.UTF-8"
  - name: LANGUAGE
    value: "ru_RU.UTF-8"
  - name: LC_ALL
    value: "ru_RU.UTF-8"
# Это пример. Не копируй слепо, если у тебя уже есть секция env.

Часто задаваемые вопросы (FAQ) по Jellyfin и TrueNAS

Как обновить Jellyfin до новой версии?

В карточке приложения в Apps нажми "Update Available" или выбери вручную новую версию через Edit → Version. TrueNAS сделает rolling update без потери данных, так как конфиги хранятся на отдельном томе.

Почему Jellyfin не видит мои файлы в смонтированной папке?

Проблема в правах доступа (Permissions). Убедись, что:

  • Датасет с медиа имеет ACL, разрешающий чтение пользователю/группе apps (или 568).
  • В настройках монтирования (Storage) в Apps не стоит галочка Read Only.
  • Попробуй в Shell TrueNAS дать права: chmod -R 755 /mnt/tank/media и chown -R apps:apps /mnt/tank/media.

Как организовать резервное копирование конфигурации Jellyfin?

Проще простого! Ты уже создал отдельный датасет jellyfin-config. Просто настрой периодические снэпшоты (Snapshots) для этого датасета через меню Data Protection → Snapshots. Восстановление — это откат снэпшота. Для переноса на другой сервер можно использовать репликацию ZFS.

Можно ли использовать один экземпляр Jellyfin для нескольких пользователей TrueNAS?

Да, Jellyfin имеет встроенную систему пользователей с разными уровнями доступа. В её настройках создай учетные записи для членов семьи и назначь права на библиотеки. TrueNAS здесь выступает только как платформа для хостинга, управление доступом к контенту происходит внутри самого Jellyfin.

Заключение

Развертывание Jellyfin на TrueNAS Scale — это не просто установка приложения. Это создание отказоустойчивой, управляемой и мощной медиа-инфраструктуры у себя дома. Ты получаешь все преимущества ZFS (снэпшоты, репликация, целостность данных) в сочетании с лучшим open-source медиасервером.

Ключевые моменты для успеха:

  • Правильная подготовка датасетов отдельно для конфигов и медиа.
  • Внимательная настройка монтирования томов при установке из каталога Apps.
  • Использование GPU для транскодирования — это меняет правила игры.
  • Резервное копирование через ZFS-снэпшоты конфигурационного датасета.

Теперь у тебя есть собственный Netflix, который полностью под твоим контролем, не зависит от подписок и использует мощь твоего TrueNAS-сервера. Осталось лишь наполнить библиотеки контентом и наслаждаться просмотром с любого устройства.

Поделиться:
Сохранить гайд? В закладки браузера