Jellyfin 12 upgrade and migration

Jellyfin 12 — первый выпуск за долгое время, который отказывается работать на сервере, если плагины не обновлены. Команда наконец-то очищает схему базы данных, ужесточает контракты API плагинов и отказывается от поддержки некоторых древних потоков аутентификации. Это здорово для проекта. Это также реальный шанс сломать ваш домашний сервер, если обновить его на месте без плана.

Мы рассмотрели семь инструментов рабочего стола, которые делают обновление безопасным: резервная копия, которая действительно восстанавливается, проверка плагинов перед обновлением, путь отката при неудачной миграции и проверка метаданных после. Шесть из семи — это бесплатное программное обеспечение с открытым исходным кодом. Все они работают на Windows, macOS и Linux (или в контейнере, который это делает).

На что обратить внимание

Быстрое сравнение

Приложение Лучше всего для Платформы Бесплатный план Цена Лицензия
Jellyfin Сам сервер Windows, macOS, Linux, Docker Да Бесплатно GPL
Jellyfin Backup Plugin Резервное копирование конфигурации и БД в приложении Любой хост Jellyfin Да Бесплатно GPL
Kopia Полные зашифрованные резервные копии сервера Windows, macOS, Linux Да Бесплатно Apache 2.0
Portainer Откат контейнера и закрепление образа Windows, macOS, Linux Да Бесплатно (Community) zlib
Watchtower Контролируемые обновления Docker Linux, Docker Да Бесплатно Apache 2.0
Diun Уведомление перед получением новых образов Linux, Docker Да Бесплатно MIT
TinyMediaManager Очистка метаданных до или после обновления Windows, macOS, Linux Да Бесплатно / ~$50/год Apache 2.0

1. Jellyfin — Сам сервер, обновленный по вашему условию

Jellyfin — это медиа-сервер. Для обновления версии 12 честный совет: не берите автоматическое обновление. Закрепите тег 10.x на Docker, остановите контейнер, выполните шаги резервного копирования ниже и получите новый тег вручную, когда вы готовы сидеть перед сервером часа два.

Где он отстает: Привычки автоматического обновления некоторых путей установщика (собственный сервис Windows, некоторые пакеты distro) затрудняют закрепление больше, чем следовало бы.

Цена:

Платформы: Windows, macOS, Linux, Docker, ARM.

Загрузка: jellyfin.org.

Итог: Закрепите тег, сделайте резервную копию, обновляйте намеренно.

2. Jellyfin Backup Plugin — Лучше всего резервное копирование конфигурации и БД в приложении

Jellyfin Backup Plugin — это официальный плагин первой стороны, который упаковывает каталог конфигурации, базу данных метаданных и базу данных пользователей в один zip по расписанию. Восстановление — один клик. Для прыжка версии 12 запустите ручную резервную копию с остановленным сервером, чтобы ничего не писалось в середине процесса, затем продолжайте запланированное резервное копирование на новой версии.

Где он отстает: Не создает резервную копию самой медиа-библиотеки, только метаданные вокруг нее. Хранилище локально, если вы не указываете на акцию.

Цена:

Платформы: Любой хост, запускающий Jellyfin.

Загрузка: Установите из каталога плагинов Jellyfin внутри Dashboard.

Итог: Первое, что нужно установить. Тот, который делает откат тривиальным, если обновление пойдет не так.

3. Kopia — Лучше всего полные зашифрованные резервные копии сервера

Kopia — это инструмент резервного копирования, который обрабатывает уровень, которого не может достичь плагин Jellyfin: полная папка конфигурации, кэш произведений искусства, временное время кодирования и файлы compose. Он дедуплицирует, шифрует и отправляет на S3, B2, NAS или другой диск. Снимки являются добавочными и подключаемы для восстановления.

Где он отстает: Кривая обучения для модели репозитория / политики. GUI — это вкладка браузера, а не собственное приложение.

Цена:

Платформы: Windows, macOS, Linux.

Загрузка: kopia.io.

Итог: Слой резервного копирования под плагином. Установите один раз, забудьте, пока вам не понадобится.

4. Portainer — Лучше всего откат контейнера и закрепление образа

Portainer — это пользовательский интерфейс Docker, который делает закрепление определенного тега образа Jellyfin несколькими щелчками вместо редактирования файла compose. Дублируйте стек, сохраняйте старый в режиме паузы со старым тегом, запустите новый рядом. Если 12 ведет себя странно, остановите новый стек, возобновите старый — вы вернулись на 10.x менее чем за минуту.

Где он отстает: Бесплатный уровень щедр, но блокирует несколько функций за Business. Подсказки входа и лицензирования при каждой свежей установке занимают минуту для отключения.

Цена:

Платформы: Windows, macOS, Linux (Docker).

Загрузка: portainer.io.

Итог: Сеть безопасности. Откатитесь на 10.x из вкладки браузера без касания CLI.

5. Watchtower — Лучше всего контролируемые обновления Docker

Watchtower автоматически обновляет контейнеры Docker, когда прибывают новые образы. Для обычного домашнего сервера это установи и забудь. Для окна Jellyfin 12 делайте противоположное: исключите Jellyfin из списка наблюдения Watchtower, чтобы запланированное обновление не втягивало вас в миграцию в 3 часа ночи.

Где он отстает: Никакого GUI. Конфигурация — это переменные окружения контейнера.

Цена:

Платформы: Linux (Docker).

Загрузка: containrrr.dev/watchtower.

Итог: Инструмент для переконфигурации перед обновлением, чтобы вы решали, когда переместится Jellyfin.

6. Diun — Лучше всего «уведомить перед извлечением» альтернатива Watchtower

Diun следит за реестрами образов и пингует вас (через Discord, Telegram, ntfy или электронную почту) при публикации нового тега. В отличие от Watchtower, он никогда не извлекает и не перезагружается — он просто говорит вам, что мир переместился. Идеально для окна Jellyfin 12: вы получаете ping, вы решаете, когда действительно обновить.

Где он отстает: Не обновляется. Если вам нужен нулевой интервал, Watchtower — это инструмент.

Цена:

Платформы: Linux (Docker).

Загрузка: github.com/crazy-max/diun.

Итог: Правильный инструмент для любого, кто хочет подталкивания без автоматического извлечения.

7. TinyMediaManager — Лучше всего предварительное или последующее очищение метаданных

TinyMediaManager сканирует вашу библиотеку и переписывает грязные метаданные в чистую структуру nfo + произведение искусства, которую любит Jellyfin. Запустите его перед обновлением, чтобы исправить неправильно помеченные эпизоды и отсутствующие произведения искусства; запустите снова после, чтобы поймать что-нибудь, что откроет новый сканер. Бесплатный уровень охватывает общие случаи; платное v5 разблокирует массовые действия.

Где он отстает: Бесплатная версия ограничивает некоторые массовые действия и функции эпизодов ТВ платным v5.

Цена:

Платформы: Windows, macOS, Linux.

Загрузка: tinymediamanager.org.

Итог: Запустите это один раз в год, даже без обновления. На прыжке Jellyfin 12 запустите перед и после.

Как выбрать правильный

Часто задаваемые вопросы

Должен ли я пропустить Jellyfin 12 и подождать? Нет. Ожидание не снижает риск, оно просто его передвигает. Создайте резервную копию, закрепите текущий тег, сначала обновите промежуточный экземпляр, затем обновите реальный.

Какие плагины сломаются в Jellyfin 12? Команда публикует список совместимости в блоге Jellyfin и в примечаниях к выпуску. Проверьте каждый плагин третьей стороны (автоматическое организованное, пользовательские кодеки, пользовательская аутентификация) перед обновлением.

Могу ли я запустить Jellyfin 10.x и 12 рядом? С Docker, да. Укажите каждый контейнер на отдельную папку конфигурации (Jellyfin 12 будет мигрировать базу данных на месте, поэтому не делитесь папкой конфигурации между версиями).

Сколько времени занимает миграция базы данных? Для библиотеки с 5000 предметами ожидается несколько минут на SSD, десятки минут на вращающемся диске. Не останавливайте контейнер, пока он работает.

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