Перейти к содержимому

Обновления

Новичкам

HolyArrs сообщает, когда выходит новая версия, но сам её не устанавливает. Вы скачиваете новый образ, когда вам удобно.

Проверить, вышла ли новая версия

Ссылка на «Проверить, вышла ли новая версия»
  1. Откройте страницу Status (Состояние): http://your-server:6262/health.
  2. Посмотрите блок Updates (обновления). Вы увидите одно из сообщений:
Сообщение Что значит
«HolyArrs 1.2.0 is out, newer than this one.» Обновитесь, когда будете готовы
«This is the newest version.» Ничего делать не нужно
«No HolyArrs release is published yet.» Лента пуста. Всё в порядке
«The last check did not work: …» Лента недоступна, чаще всего нет интернета
«The update check is off: …» Выключено в Настройках
  1. Чтобы проверить сейчас, нажмите Check now (проверить сейчас) или Check again (проверить ещё раз). Нужно право Change settings (менять настройки).

Более новая версия показывается ещё и как предупреждение об исправности. Неудачная проверка видна только в блоке Updates.

  1. Скачайте новый образ и перезапустите: docker compose pull, затем docker compose up -d.
  2. HolyArrs запускается. Если новая версия меняет способ хранения данных, он сначала делает резервную копию, а потом обновляет данные. Приложение откроется уже на новой версии.

Вернуться к прежней версии

Ссылка на «Вернуться к прежней версии»

HolyArrs не может сменить собственный образ, поэтому вы запускаете прежний образ, а HolyArrs возвращает прежние данные.

  1. Замените тег образа в compose-файле (или в docker run) на прежний, например holyarrs/holyarrs:<older version>.
  2. Выполните docker compose up -d.
  3. Если обновление не меняло данные, прежняя версия запустится. Готово.
  4. Иначе прежняя версия покажет вместо приложения страницу. Нажмите Put back the data from before the update (вернуть данные, какими они были до обновления).
  5. Введите одноразовый код. Он есть в выводе docker logs <container>: ищите «one-time code».
  6. HolyArrs проверяет резервную копию, ставит её на место и останавливается. Контейнер снова запустится на этих данных благодаря политике перезапуска. Если её нет, запустите его сами.

Без страницы: docker exec <container> /holyarrs restore --pre-update, затем docker restart <container>. Без Docker: остановите HolyArrs, выполните holyarrs restore --pre-update и запустите его.

Ничего не удаляется. Более новые данные переносятся в backups/before-restore-<time>/, так что возврат можно отменить. Если вы возвращаетесь больше чем на одну версию назад, берётся самая свежая резервная копия перед обновлением, которую эта версия умеет читать.

Всё находится в Settings > Health checks (Настройки > Проверки исправности). Последние три настройки лежат в расширенной части карточки.

Настройка По умолчанию Когда менять
Check for a newer HolyArrs (проверять, вышел ли новый HolyArrs) Вкл. Вы не хотите вообще никаких запросов наружу
Check for updates every (проверять обновления раз в) день Вы хотите проверять реже: раз в 3, 7, 14 или 30 дней
Release feed (лента версий) Пусто (версии HolyArrs) У вас своя лента
Feed may be on the local network (лента может быть в локальной сети) Выкл. Ваша лента находится в вашей сети
Include test versions (like 1.2.0-rc1) (учитывать тестовые версии, например 1.2.0-rc1) Выкл. Вы хотите узнавать о тестовых версиях

Признак проблемы: «The last check did not work.» Причина: у сервера нет интернета, или ваша лента находится в локальной сети. Решение: проверьте доступ в интернет или включите Feed may be on the local network.

Признак проблемы: лента версий не сохраняется. Причина: в адресе есть имя, пароль, ?query или #fragment, или он не начинается с http:// или https://. Решение: уберите эти части.

Признак проблемы: обновление остановилось из-за нехватки места на диске. Причина: не хватает места для копии и обновления. Решение: освободите место там, где лежит папка конфигурации, и запустите снова.

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

Некоторые функции в этой версии по умолчанию выключены. Включайте их на свой страх и риск. Пока функция придержана, её страницы и пункты меню скрыты, её маршруты API отвечают «not found», а её задания не выполняются. Данные, которые вы для неё сохранили, остаются.

Чтобы включить функцию, добавьте её переключатель в HOLYARRS_FLAGS через запятую и перезапустите контейнер:

environment:
HOLYARRS_FLAGS: "subtitle_sites,alert_channels_more"

Чтобы выключить, уберите название и перезапустите. Скрытые настройки вернутся, когда вы включите функцию снова.

Переключатель Функция
plex_watchlists Списки просмотра Plex превращаются в запросы
row_title_stats Статистика тайтлов в рядах Обзора, в разделе Appearance
trakt_lists Ключ Trakt, списки Trakt и отзывы Trakt. Списки TMDB остаются включены
alert_channels_more Оповещения через Telegram, ntfy, Gotify, Pushover и вебхук. Discord и электронная почта остаются включены
subtitle_sites Сайты субтитров и поиск субтитров. Ваш язык субтитров остаётся включён
emby_signin Вход через Emby. Обновление медиатеки Emby по-прежнему работает
go_back Панель Go back (вернуться к прежней версии) на странице Состояние. Шаги из раздела Вернуться к прежней версии работают и без неё

Добавили переключатель, а ничего не изменилось? Проверьте написание (строчные буквы, подчёркивания) и перезапустите контейнер, а не только страницу.

Что отправляет проверка

Один запрос к api.github.com за самой новой версией, только с User-Agent: HolyArrs/<version>. Ни учётной записи, ни ключа, ни списка медиа. Если проверка выключена, запросов нет совсем.

Последний ответ сохраняется, поэтому после перезапуска проверка не идёт раньше срока. Одна проверка ждёт не больше 15 с, читает не больше 512 КБ и проходит не больше 3 перенаправлений, никогда не переключаясь между http и https. Ссылка на описание версии показывается, только когда она ведёт на страницы версий HolyArrs на GitHub; иначе версия показана обычным текстом.

Release feed принимает ответ о версии в стиле GitHub, список версий, любой JSON с полем version или обычный текст с номером версии. Адреса облачных метаданных всегда отклоняются. Тестовая версия считается более ранней, чем обычная.

Резервная копия перед обновлением

Прежде чем менять сохранённые данные, HolyArrs:

  1. Проверяет, хватит ли места для копии и обновления. Если нет, ничего не меняется. Проверку можно пропустить: HOLYARRS_SKIP_SPACE_CHECK=yes.
  2. Копирует каждую базу данных в backups, проверяет копию и записывает рядом файл sha256. После 3 неудачных копий ничего не меняется.
  3. Выполняет каждый шаг обновления отдельно и проверяет его. Неудачный шаг отменяется; завершённые шаги остаются. Запустите ту же версию ещё раз, чтобы продолжить с неудачного шага с той же копией.

После первого удачного запуска копия становится файлом holyarrs-backup-pre-update-<time>.zip с описанием вроде «before updating from 1.1.0 to 1.2.0». Она видна в Settings > Backups (Настройки > Резервные копии) и в holyarrs restore --list. Хранятся 3 самые свежие; расписание резервных копий их никогда не удаляет. Свежая установка или обновление, которое не трогает данные, копию не создаёт.

HolyArrs бесплатен. Если он сэкономил вам время, поставьте звезду на GitHub, станьте спонсором или угостите меня кофе.