Към съдържанието

Актуализации

Нов тук

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.” Feed-ът е празен. Нищо не е счупено
“The last check did not work: …” Feed-ът не е достъпен, често няма интернет
“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 On Не искаш никаква външна заявка
Check for updates every day Искаш по-малко проверки: 3, 7, 14 или 30 дни
Release feed Empty (HolyArrs releases) Държиш собствен feed
Feed may be on the local network Off Feed-ът ти е в твоята мрежа
Include test versions (like 1.2.0-rc1) Off Искаш известия и за тестови версии

Проблем: „The last check did not work.“ Причина: сървърът няма интернет, или собственият ти feed е в локалната мрежа. Решение: провери достъпа до интернет или включи Feed may be on the local network.

Проблем: feed-ът за версиите не се запазва. Причина: адресът съдържа име, парола, ?query или #fragment, или не започва с http:// или https://. Решение: махни тези части.

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

Проблем: страницата за връщане отказва кода ти. Причина: стар код, или 10 грешни кода от последния старт. Решение: копирай кода от най-новия ред в дневника (log). След 10 грешни опита рестартирай контейнера и използвай новия код.

Някои функции са изключени по подразбиране в тази версия. Включваш ги на своя отговорност. Докато са задържани, страниците и елементите им в менюто са скрити, API маршрутите им отговарят „not found“ и задачите им не се изпълняват. Данните, които си запазил за тях, остават.

За да включиш една, добави превключвателя ѝ в HOLYARRS_FLAGS, разделени със запетая, и рестартирай контейнера:

environment:
HOLYARRS_FLAGS: "subtitle_sites,alert_channels_more"

Махни името и рестартирай, за да я изключиш. Скритите настройки се връщат, когато я включиш отново.

Превключвател Функция
row_title_stats Статистика за заглавията в редовете на Разглеждане, в Appearance
trakt_lists Trakt ключ, Trakt списъци и Trakt ревюта. TMDB списъците остават включени
alert_channels_more Известия през Telegram, ntfy, Gotify, Pushover и webhook. Discord и имейл остават включени
subtitle_sites Сайтове за субтитри и търсене на субтитри. Езикът ти за субтитри остава включен
emby_signin Вход с Emby. Обновяването на Emby библиотека пак работи
go_back Панелът Go back (върни се) на страницата Състояние. Стъпките в Върни се работят и без него

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

Какво изпраща проверката

Една заявка към api.github.com за най-новата версия, само с User-Agent: HolyArrs/<version>. Без акаунт, ключ или списък с медия. При изключена проверка няма никаква заявка.

Последният отговор се запазва, така че рестартът не проверява преди време. Една проверка чака най-много 15 s, чете най-много 512 KB и следва най-много 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; графикът за резервни копия никога не ги маха. Нова инсталация или актуализация, която не пипа данните, не прави такова.

Провери образа

От 1.0.3 нататък всеки образ в Docker Hub е подписан от процеса по публикуване на версията в GitHub. Няма ключ за изтегляне. Провери образ с cosign. Постави версията, която пускаш, например 1.0.3, там където пише <version>:

Terminal window
cosign verify holyarrs/holyarrs:<version> \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp '^https://github.com/HolyArrs/HolyArrs/\.github/workflows/sign\.yml@refs/(tags/[0-9.]+|heads/main)$'

Трябва да видиш The cosign claims were validated. Всичко друго значи, че образът не идва от процеса по публикуване на версиите на HolyArrs: не го пускай.

Образът носи и запис как е построен и списък с това, което има вътре (SBOM). Провери ги с GitHub CLI:

Terminal window
gh attestation verify oci://docker.io/holyarrs/holyarrs:<version> --repo HolyArrs/HolyArrs

Същите файлове има на всяка версия в GitHub: .sigstore.json (подпис), .intoto.jsonl (запис на изграждането) и .sbom.spdx.json (съдържание).

HolyArrs е безплатен. Ако ти е спестил време, сложи му звезда в GitHub, подкрепи го или почерпи ме с кафе.