Установка Jellyfin: медиасервер дома без подписок и слежки

Установка Jellyfin: медиасервер дома без подписок и слежки
Быстрый ответ
Установка Jellyfin через Docker Compose — 4 шага:
  1. Создай docker-compose.yml с образом jellyfin/jellyfin
  2. Пропиши пути к медиатеке и папке с конфигом
  3. Запусти контейнер: docker compose up -d
  4. Открой браузер: http://IP:8096 — пройди мастер настройки

Всё. Дальше — детали, без которых оно либо не заработает, либо заработает не так.

Зачем Jellyfin, если есть Plex и Emby

Plex требует аккаунт. Emby в бесплатной версии срезает функции. Jellyfin — полностью открытый, без регистрации, без подписки, без телеметрии. Установил, настроил — работает. Никто не знает что у тебя на диске, и никто не отберёт функциональность если ты не платишь.

Установка Jellyfin занимает от 10 минут. На выходе получаешь медиасервер который стримит фильмы, сериалы и музыку на любое устройство в сети — и за её пределами, если настроишь внешний доступ.

Это вторая статья серии про OpenMediaVault homelab. В первой части разобрали 20 приложений для OMV. Здесь — Jellyfin от установки до продакшн-конфига с HTTPS, плагинами и нормальной структурой медиатеки.

Что будет в статье:

  • Установка через Docker Compose — самый правильный способ
  • Структура папок которая не сломает метаданные
  • Настройка библиотек, сканирование, обложки
  • HTTPS через Nginx Proxy Manager или Caddy
  • Полезные плагины: Intro Skipper, Open Subtitles, Playback Reporting
  • Клиенты для телевизора, телефона и браузера
  • Troubleshooting — 8 типичных проблем с решениями

Потребуется: Linux-сервер или NAS с Docker, ~30 минут, папка с медиаконтентом. Железо — в таблице ниже.

Системные требования

Параметр Минимум Комфортно Для транскодинга 4K
CPU 2 ядра, x86_64 4 ядра 6+ ядер или Intel QSV/NVENC
RAM 2 ГБ 4 ГБ 8 ГБ+
Диск (система) 20 ГБ SSD 40 ГБ SSD 40 ГБ SSD
ОС Debian 11+, Ubuntu 22.04+ Debian 12 Debian 12 + GPU драйверы
Docker 24.x+ 25.x+ 25.x+ с nvidia-container-toolkit
Сеть 100 Мбит (для 1080p direct play) Гигабит LAN Гигабит LAN

На момент публикации актуальна версия Jellyfin 10.10.x. Перед установкой проверь свежие релизы на github.com/jellyfin/jellyfin/releases.

Важный момент про транскодинг. Если клиент воспроизводит файл напрямую без перекодирования — это Direct Play, нагрузки почти нет. Если нужно конвертировать на лету — Transcoding, и тут без нормального железа будут тормоза. Современные смарт-телевизоры и приставки умеют H.264 и H.265 напрямую. Старые и некоторые веб-браузеры — нет.

Структура папок до установки

Сначала разберись с папками — потом всё остальное. Jellyfin определяет тип контента по структуре директорий. Если положить сериалы не туда — метаданные не подтянутся, а разбираться потом неприятно.

Правильная структура:


/opt/jellyfin/
├── config/          # конфиг Jellyfin - маппится в контейнер
├── cache/           # кеш метаданных и обложек
└── data/            # БД, журналы, временные файлы транскодинга

/mnt/media/          # или где у тебя лежат файлы
├── movies/          # фильмы
│   ├── Inception (2010)/
│   │   └── Inception (2010).mkv
│   └── The Matrix (1999)/
│       └── The Matrix (1999).mkv
├── tvshows/         # сериалы
│   ├── Breaking Bad/
│   │   ├── Season 01/
│   │   │   ├── Breaking Bad S01E01.mkv
│   │   │   └── Breaking Bad S01E02.mkv
│   │   └── Season 02/
│   └── Severance/
│       └── Season 01/
├── music/           # музыка
└── photos/          # фото

Запомни правило именования: Название (Год) для фильмов и SxxExx для серий. Jellyfin использует TMDb и TheTVDB для поиска метаданных — если имя файла не совпадает с базой, будут проблемы. Год в скобках критичен если фильм выходил несколько раз или есть ремейк.

Создай структуру:


mkdir -p /opt/jellyfin/{config,cache,data}
# Медиапапки - замени путь на свой
mkdir -p /mnt/media/{movies,tvshows,music,photos}

Установка Jellyfin через Docker Compose

Ставить через Docker Compose — правильный выбор. Конфиг в одном файле, легко обновлять, легко переносить. Нативная установка через deb-пакет тоже работает, но потом будешь вручную следить за обновлениями и зависимостями.

Создай файл конфигурации:


nano /opt/jellyfin/docker-compose.yml

Вставь содержимое:


services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    network_mode: host
    environment:
      - JELLYFIN_PublishedServerUrl=http://192.168.1.100:8096  # замени на свой IP
    volumes:
      - /opt/jellyfin/config:/config
      - /opt/jellyfin/cache:/cache
      - /opt/jellyfin/data:/data
      - /mnt/media:/media:ro
    # Если есть Intel iGPU для аппаратного транскодинга:
    # devices:
    #   - /dev/dri:/dev/dri
    # group_add:
    #   - "109"  # группа render, проверь: getent group render

Несколько пояснений по compose-файлу. Параметр network_mode: host даёт контейнеру прямой доступ к сети хоста. Это нужно для DLNA и автообнаружения в локальной сети — без этого смарт-телевизоры не найдут сервер автоматически. Медиапапка монтируется как :ro (read-only) — Jellyfin не должен ничего писать туда, только читать. restart: unless-stopped — контейнер поднимется после перезагрузки, если ты его сам не остановил.

Про PUID/PGID
В примере не указаны PUID и PGID — контейнер запустится от root. Для homelab это приемлемо. Для продакшн-среды добавь переменные окружения PUID и PGID с UID/GID пользователя у которого есть доступ к медиафайлам. Узнать: id имя_пользователя

Запусти контейнер:


cd /opt/jellyfin
docker compose up -d

Проверь что запустился:


docker compose ps
docker compose logs --tail=50

В логах должна появиться строка вида Jellyfin version: 10.x.x и Startup complete. Если видишь ошибки доступа к файлам — проверь права на папки.

Первый запуск и мастер настройки

Открой браузер и иди по адресу http://IP-сервера:8096. Пойдёт мастер начальной настройки — он запускается только один раз.

Шаги мастера:

  1. Язык интерфейса — выбери русский, если хочешь. Jellyfin переведён прилично.
  2. Создание администратора — придумай имя и пароль. Не admin/admin, серьёзно.
  3. Настройка медиатеки — добавляй библиотеки здесь. Тип контента выбери правильно: фильмы / сериалы / музыка / фото. Путь — /media/movies (или что ты назвал в compose).
  4. Метаданные — выбери язык для метаданных. Русский для русских тайтлов, английский как запасной.
  5. Готово — сервер начнёт сканирование библиотек.

После завершения мастера — иди в Панель управления → Библиотеки и нажми «Сканировать все библиотеки». Первое сканирование может занять несколько минут для большой коллекции.

%%{init: {
  'theme': 'base',
  'themeVariables': {
    'primaryColor': '#ffffff',
    'primaryTextColor': '#1e293b',
    'primaryBorderColor': '#94a3b8',
    'lineColor': '#64748b',
    'fontSize': '14px',
    'fontFamily': 'ui-sans-serif, system-ui, sans-serif'
  },
  'flowchart': {'curve': 'linear', 'nodeSpacing': 45, 'rankSpacing': 45}
}}%%
flowchart TD
    A["Клиент"] --> B["Jellyfin :8096"]
    B --> C{"Транскодинг нужен?"}
    C -->|"Direct Play"| D["Файл → клиент"]
    C -->|"Transcoding"| E["FFmpeg перекодирует"]
    E --> F{"GPU доступен?"}
    F -->|"Intel QSV/NVENC"| G["Аппаратный транскодинг"]
    F -->|"Нет GPU"| H["CPU транскодинг"]
    G --> D
    H --> D
    B --> I["TMDb / TheTVDB"]
    I --> J["Метаданные и обложки"]
    style A fill:#f8fafc,stroke:#3b82f6,stroke-width:2px,color:#1e40af
    style B fill:#f8fafc,stroke:#22c55e,stroke-width:2px,color:#15803d
    style E fill:#f8fafc,stroke:#f97316,stroke-width:2px,color:#c2410c
    style H fill:#f8fafc,stroke:#ef4444,stroke-width:2px,color:#dc2626

Настройка портов Jellyfin

По умолчанию Jellyfin слушает на двух портах. Если используешь network_mode: host — они открыты сразу. Если bridge — пропиши маппинг в compose.

Порт Протокол Назначение Нужен снаружи?
8096 TCP Web UI и API (HTTP) Через reverse proxy
8920 TCP Web UI и API (HTTPS) Опционально
1900 UDP DLNA autodiscovery (SSDP) Нет (только LAN)
7359 UDP Jellyfin autodiscovery Нет (только LAN)

Для внешнего доступа открывай только 443 через reverse proxy. Напрямую 8096 наружу — нежелательно: нет HTTPS, нет ограничений по IP.

Если используешь UFW:


# Только для доступа из локальной сети (замени на свою подсеть)
ufw allow from 192.168.1.0/24 to any port 8096 proto tcp
ufw allow from 192.168.1.0/24 to any port 1900 proto udp
ufw allow from 192.168.1.0/24 to any port 7359 proto udp
ufw reload

Настройка HTTPS через Nginx Proxy Manager

Без HTTPS Jellyfin доступен по HTTP — это нормально для локальной сети. Но если хочешь заходить снаружи или через мобильное приложение вне дома — нужен HTTPS. Самый простой способ для homelab — Nginx Proxy Manager.

Если NPM у тебя уже стоит — добавь проксирование для Jellyfin. Если нет — добавь в тот же docker-compose.yml или в отдельный файл:


services:
  nginx-proxy-manager:
    image: jc21/nginx-proxy-manager:latest
    container_name: npm
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "81:81"   # веб-интерфейс NPM
    volumes:
      - /opt/npm/data:/data
      - /opt/npm/letsencrypt:/etc/letsencrypt

После запуска NPM зайди на http://IP:81, дефолтные креды: admin@example.com / changeme. Смени их сразу.

Создай Proxy Host в NPM:

  • Domain Names: jellyfin.твойдомен.ru
  • Forward Hostname/IP: IP сервера (или jellyfin если в одной docker-сети)
  • Forward Port: 8096
  • Websockets Support: включи
  • SSL Certificate: Request a new SSL Certificate (Let’s Encrypt)

После этого зайди в Jellyfin — Панель управления → Сеть → Публичный URL сервера Jellyfin — и вбей туда https://jellyfin.твойдомен.ru.

Важно для мобильных клиентов
Без правильно указанного PublishedServerUrl мобильные клиенты не подключатся снаружи. Jellyfin выдаёт клиенту свой адрес при подключении — и если там localhost или внутренний IP, стриминг падает после первого экрана настройки.

Альтернатива: Caddy как reverse proxy

Caddy проще в конфигурации — он сам получает и обновляет сертификаты без NPM. Создай Caddyfile:


jellyfin.твойдомен.ru {
    reverse_proxy localhost:8096
}

Это всё. Caddy сам сходит в Let’s Encrypt, получит сертификат и настроит HTTPS. Без дополнительных действий.

Настройка метаданных и библиотек

Метаданные — это обложки, описания, рейтинги, актёры. Без них Jellyfin выглядит как файловый менеджер. По умолчанию он тянет данные с TMDb для фильмов и TheTVDB для сериалов. Если не заработало — скорее всего проблема в именовании файлов или регионе.

Зайди в Панель управления → Библиотеки → [выбери библиотеку] → Настроить метаданные.

Что важно настроить:

  • Провайдеры метаданных — TMDb на первом месте для фильмов, TheTVDB для сериалов
  • Язык метаданных — ru для русских названий, en как запасной
  • Загружать обложки — включи все типы: Primary, Backdrop, Banner
  • Периодическое обновление метаданных — раз в 30 дней достаточно

Если метаданные не подтянулись для конкретного фильма — кликни на него, нажми три точки, выбери «Обновить метаданные». Jellyfin откроет диалог поиска — можно вручную ввести правильное название или ID из TMDb.


# Принудительное обновление метаданных через API (если нужно массово)
curl -X POST "http://localhost:8096/Library/Refresh" \
  -H "X-Emby-Token: ВАШ_API_КЛЮЧ"

API-ключ найдёшь в Панель управления → API-ключи → Создать.

Jellyfin сериалы не определяются: правильное именование

Самая частая проблема с сериалами — неправильное имя файла. Jellyfin строго следует соглашению Kodi/Emby:


# Правильно:
Название сериала/Season 01/Название сериала S01E01.mkv

# Тоже работает:
Название сериала/S01E01 - Название серии.mkv

# Не работает:
Название сериала/1x01.mkv
Название сериала/01-01.mkv
Название сериала/ep01.mkv

Если файлы уже лежат с неправильными именами — не паникуй. Есть два пути: переименовать через FileBot или вручную найти нужный сериал через «Изменить метаданные» в интерфейсе Jellyfin.

Плагины Jellyfin: что ставить

Jellyfin поддерживает плагины — расширения функциональности. Каталог доступен прямо в интерфейсе: Панель управления → Плагины → Каталог.

Вот что реально полезно из коробочного каталога:

Плагин Что делает Обязателен?
Intro Skipper Автоматически пропускает интро и концовки в сериалах Да, если смотришь сериалы
Open Subtitles Скачивает субтитры с opensubtitles.org Да, если нужны субтитры
Playback Reporting Статистика просмотров по пользователям Нет (для семьи или ценителей)
Merge Versions Объединяет дубли одного фильма в разных качествах Нет (если есть дубли)
Skin Manager Кастомные темы интерфейса Нет

Для установки Intro Skipper нужно немного больше настроек. Плагин анализирует аудиодорожки и находит повторяющиеся участки (типичный интро). После установки зайди в настройки плагина и запусти анализ библиотеки — это займёт время.

Внешние репозитории плагинов
Кроме официального каталога есть сторонние репозитории плагинов. Добавлять их нужно через Панель управления → Плагины → Репозитории. Самый известный сторонний плагин — Jellyfin.Plugin.Anime для лучшей поддержки аниме с AniDB. Сторонние плагины ставь осторожно — они не проходят проверку от команды Jellyfin.

Клиенты Jellyfin: на чём смотреть

Клиент — это приложение которое подключается к серверу и воспроизводит контент. Сам сервер — только хранилище и стриминг. Jellyfin работает почти на всём.

Платформа Клиент Где скачать Качество
Android TV / Google TV Jellyfin for Android TV Google Play Отличное
Android (телефон) Jellyfin for Android Google Play / F-Droid Хорошее
iOS / iPadOS Jellyfin Mobile App Store Хорошее
Windows Jellyfin Media Player GitHub Releases Отличное
macOS Jellyfin Media Player GitHub Releases Хорошее
Веб-браузер Встроенный веб-клиент http://IP:8096 Зависит от браузера
Roku Jellyfin for Roku Roku Channel Store Базовое
Kodi Jellyfin for Kodi kodi.jellyfin.org Отличное
Samsung Smart TV Только веб-браузер Встроенный браузер Среднее

Лучший клиент для десктопа — Jellyfin Media Player на базе MPV. Он играет почти всё без транскодинга, поддерживает HDR и субтитры. Веб-клиент в Chrome/Firefox нормально тянет H.264, но H.265 и AV1 зависят от поддержки браузером.

Для телевизоров LG (webOS) и Samsung (Tizen) официальных клиентов нет — только встроенный браузер. Но если у тебя Android TV приставка — всё отлично, клиент есть и работает хорошо.

Аппаратный транскодинг: Intel QSV

Если сервер на Intel (Celeron N5105, N100, i3/i5 с iGPU) — включи аппаратный транскодинг. Это уменьшит нагрузку на CPU при конвертации видео в разы. 4K поток который убивает CPU транскодингом — на Intel QuickSync проходит с нагрузкой 15-20%.

Проверь что GPU виден в системе:


ls /dev/dri
# Должно быть: card0  renderD128

Узнай GID группы render:


getent group render
# Вывод: render:x:109:
# 109 - это GID, подставь его в compose

Обнови compose-файл — раскомментируй строки с devices и group_add:


services:
  jellyfin:
    image: jellyfin/jellyfin:latest
    container_name: jellyfin
    restart: unless-stopped
    network_mode: host
    environment:
      - JELLYFIN_PublishedServerUrl=http://192.168.1.100:8096
    volumes:
      - /opt/jellyfin/config:/config
      - /opt/jellyfin/cache:/cache
      - /opt/jellyfin/data:/data
      - /mnt/media:/media:ro
    devices:
      - /dev/dri:/dev/dri
    group_add:
      - "109"

Перезапусти контейнер:


cd /opt/jellyfin
docker compose down && docker compose up -d

Теперь в Jellyfin — Панель управления → Воспроизведение → Транскодирование. В поле «Аппаратное ускорение» выбери «Intel QuickSync (QSV)». Включи все кодеки которые поддерживает твой процессор.

Автоматическое обновление Jellyfin

Ручное обновление — одна команда. Но лучше автоматизировать через Watchtower или cron.

Ручное обновление:


cd /opt/jellyfin
docker compose pull
docker compose up -d
# Проверь что новая версия запустилась
docker compose logs --tail=20

Через Watchtower — автообновление всех контейнеров ночью:


services:
  watchtower:
    image: containrrr/watchtower:latest
    container_name: watchtower
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - WATCHTOWER_SCHEDULE=0 0 3 * * *  # 3:00 ночи
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_NOTIFICATIONS=email  # опционально

Но учти: Watchtower обновит все контейнеры без предупреждения. Если это не то что хочешь — используй его только для Jellyfin, указав конкретный контейнер через label.

Резервное копирование

Что бэкапить и зачем:

Что Путь Почему важно Как часто
Конфиг сервера /opt/jellyfin/config/ Настройки, пользователи, API-ключи Ежедневно
БД (jellyfin.db) /opt/jellyfin/data/data/ Вся медиатека, история просмотров Ежедневно
Кеш метаданных /opt/jellyfin/cache/ Обложки, описания (можно скачать заново) Раз в неделю
docker-compose.yml /opt/jellyfin/ Конфиг контейнера При изменениях

Скрипт бэкапа конфига (добавь в cron):


#!/bin/bash
BACKUP_DIR="/backup/jellyfin"
DATE=$(date +%Y%m%d)
mkdir -p "$BACKUP_DIR"

# Останови контейнер перед бэкапом БД
docker stop jellyfin

# Бэкап конфига и данных
tar -czf "$BACKUP_DIR/jellyfin-config-$DATE.tar.gz" /opt/jellyfin/config /opt/jellyfin/data

# Запусти обратно
docker start jellyfin

# Удали бэкапы старше 7 дней
find "$BACKUP_DIR" -name "*.tar.gz" -mtime +7 -delete

echo "Backup complete: jellyfin-config-$DATE.tar.gz"

Добавь в cron:


crontab -e
# Добавь строку:
0 2 * * * /opt/scripts/jellyfin-backup.sh >> /var/log/jellyfin-backup.log 2>&1

Troubleshooting: 8 проблем и их решения

1. Jellyfin не запускается после docker compose up

Смотри логи:


docker compose logs jellyfin --tail=100

Типичные причины: нет прав на папки конфига, занят порт 8096, неправильный путь в volumes.


# Проверь что порт свободен
ss -tlnp | grep 8096

# Проверь права
ls -la /opt/jellyfin/

# Исправь права если нужно
chown -R 1000:1000 /opt/jellyfin/config /opt/jellyfin/cache /opt/jellyfin/data

2. Медиатека пустая, файлы не появляются

Проверь что путь в compose совпадает с реальным путём. Контейнер видит файлы через маппинг — если написал /mnt/data:/media, то в интерфейсе при добавлении библиотеки путь должен быть /media, а не /mnt/data.


# Зайди в контейнер и проверь что файлы видны
docker exec -it jellyfin ls /media/movies/

3. Метаданные не загружаются

Чаще всего — DNS в контейнере не работает или TMDb недоступен. Проверь:


# Проверь доступ к TMDb изнутри контейнера
docker exec -it jellyfin curl -I https://api.themoviedb.org

Если нет ответа — проблема с DNS или файрволом. При network_mode: host используется DNS хоста. Проверь /etc/resolv.conf на сервере.

4. Видео тормозит или не воспроизводится

Определи: это Direct Play или Transcoding. Зайди в веб-интерфейс, начни воспроизведение, нажми на иконку «i» (информация о воспроизведении). Там покажет метод.

  • Direct Play тормозит — проблема с сетью или диском. Проверь скорость чтения с диска: dd if=/mnt/media/test.mkv of=/dev/null bs=1M
  • Transcoding тормозит — нагрузка на CPU. Включи аппаратное ускорение или снизь качество транскодинга
  • Браузер не играет H.265 — нормально, большинство браузеров не поддерживают. Используй настольный клиент Jellyfin Media Player

5. Jellyfin не виден в локальной сети

Если используешь network_mode: bridge вместо host — DLNA не работает. Либо переключись на host, либо смирись с тем что телевизоры не найдут сервер автоматически и добавляй вручную по IP.


# Проверь что Jellyfin слушает на нужном интерфейсе
ss -tlnp | grep 8096

6. Ошибка «Invalid username or password» после обновления

После некоторых обновлений случается сброс сессий. Просто войди заново. Если не помогает — пароль можно сбросить через конфиг:


# Останови сервер
docker stop jellyfin
# Отредактируй файл пользователя
# Пользователи хранятся в /opt/jellyfin/config/data/users/
ls /opt/jellyfin/config/data/users/

Проще — создай нового администратора через jellyfin --nowebclient если доступ к серверу есть по SSH.

7. Субтитры не отображаются

Встроенные субтитры (.srt рядом с файлом) работают сразу. ASS/SSA требуют конвертации — это нагрузка на транскодинг. PGS субтитры из Blu-ray тоже требуют транскодинга.


# Субтитры должны лежать рядом с файлом с тем же именем
Inception (2010)/
├── Inception (2010).mkv
├── Inception (2010).ru.srt    # русские
└── Inception (2010).en.srt    # английские

8. После обновления пропали плагины

Плагины для Jellyfin привязаны к конкретной версии API. После мажорного обновления плагины могут стать несовместимы — это нормально. Зайди в каталог плагинов и переустанови их. Если плагин не появился в каталоге — ищи обновлённую версию на GitHub.

Мониторинг и профилактика

Jellyfin пишет логи в /opt/jellyfin/config/log/. Периодически чисти старые:


# Логи старше 30 дней
find /opt/jellyfin/config/log/ -name "*.log" -mtime +30 -delete

Кеш метаданных растёт со временем. Если диск с конфигом заполнился — первый подозреваемый именно он:


du -sh /opt/jellyfin/cache/
# Если несколько гигабайт - можно почистить
# Jellyfin скачает всё заново при следующем сканировании
docker stop jellyfin
rm -rf /opt/jellyfin/cache/*
docker start jellyfin

Uptime Kuma для мониторинга доступности — добавь HTTP-монитор на http://IP:8096/health. Этот endpoint возвращает 200 если Jellyfin жив.

Альтернативы Jellyfin

Решение Лицензия Аккаунт нужен? Когда выбирать
Jellyfin GPL-2.0, бесплатно Нет Приватность, полный контроль
Plex Freemium Да, обязательно Лучшие клиенты, простота
Emby Freemium Нет (но Premier платный) Промежуточный вариант
Kodi (локально) GPL, бесплатно Нет Только локальное воспроизведение без сервера

Plex выигрывает по клиентам — его приложения на TV полированнее. Но требует аккаунт, и если серверы Plex лягут — твой медиасервер тоже перестанет работать снаружи. Jellyfin полностью автономен.

FAQ

Почему Jellyfin не работает после настройки?

Проверь три вещи по порядку. Первое — запущен ли контейнер: docker compose ps. Второе — порт 8096 слушается: ss -tlnp | grep 8096. Третье — файрвол разрешает подключение: ufw status. В 90% случаев проблема в одном из этих трёх мест.

Как проверить что Jellyfin работает правильно?

Открой http://IP:8096/health — должен вернуть статус 200 и слово «Healthy». Затем зайди в веб-интерфейс, открой любой файл и проверь в информации о воспроизведении — там покажет Direct Play или Transcoding. Если Direct Play — сервер работает корректно.

Что делать если Jellyfin не находит сериалы?

Переименуй файлы по шаблону Название S01E01.mkv. Папки: Название сериала/Season 01/. После переименования принудительно запусти сканирование: Панель управления → Библиотеки → Сканировать все библиотеки. Если не помогло — кликни на сериал и выбери «Обновить метаданные» вручную.

Чем Jellyfin отличается от Plex?

Jellyfin полностью бесплатный и открытый, не требует аккаунта и работает без интернета. Plex требует аккаунт и часть функций платная. Клиенты Plex на TV лучше отполированы, зато Jellyfin не передаёт данные о просмотрах на внешние серверы.

Как открыть Jellyfin снаружи безопасно?

Поставь Nginx Proxy Manager или Caddy, получи SSL-сертификат для своего домена, проксируй трафик на порт 8096. Не открывай 8096 напрямую в интернет. Дополнительно ограничь число попыток входа в настройках Jellyfin — Панель управления → Сеть → Ограничение входа.

Итог

Jellyfin сервер поднят, метаданные тянутся, клиенты подключаются. Структура папок правильная — сериалы определяются, обложки загружаются. HTTPS через NPM или Caddy — снаружи всё работает через твой домен.

Следующий шаг для homelab — Sonarr и Radarr. Они автоматически скачивают новые серии и фильмы и кладут в нужные папки с правильными именами. Jellyfin подхватит всё автоматически. Про эту связку напишу отдельно.

Не заработало?
Пиши в комментарии — разберёмся. Указывай версию Jellyfin, ОС, и что именно происходит. Скопируй вывод docker compose logs jellyfin —tail=50 — это сэкономит время.
Андрей Анатольевич
Author: Андрей Анатольевич

Руководитель ИТ / Кризис-менеджер 25 лет в IT: от инженера в МегаФоне до руководителя отдела. Знаю, как выглядит бардак: нестабильные сети, устаревшая инфраструктура, конфликты в команде, раздутые сроки. Помогаю бизнесу выходить из кризиса: навожу порядок в легаси, стабилизирую то, что разваливается, выстраиваю прогнозируемые процессы. Не раз возвращал к жизни ИТ-структуры — знаю цену хаосу. 📍 Ищу проект для полной реорганизации / стабилизации. 📬 Telegram: @over_dude ✉️ mail@it-apteka.com

Оставайтесь на связи

Рецепты от IT-боли. Без воды, без рекламы, без маркетинговой шелухи.

Подписаться на IT-Аптеку →

Мы ВКонтакте

IT-Аптека — советы, новости и помощь рядом.

Вступить в группу ВКонтакте →
Поделитесь:

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх