Přeskočit na obsah

Aktualizace

Jsem tu nový

HolyArrs ti řekne, že vyšla nová verze, ale nikdy ji sám nenainstaluje. Nový image si stáhneš, až se ti to hodí.

Zjištění, jestli vyšla nová verze

Odkaz na Zjištění, jestli vyšla nová verze
  1. Otevři stránku Status (Stav) (http://your-server:6262/health).
  2. Přečti si Updates (aktualizace). Měl bys vidět jednu z těchto zpráv:
Zpráva Význam
„HolyArrs 1.2.0 is out, newer than this one.“ Aktualizuj, až budeš chtít
„This is the newest version.“ Není co dělat
„No HolyArrs release is published yet.“ Feed je prázdný. Nic se neděje
„The last check did not work: …“ Feed se nepodařilo načíst, často chybí internet
„The update check is off: …“ Vypnuto v nastavení
  1. Když se chceš zeptat hned, klikni na Check now (zkontrolovat hned) nebo Check again (zkontrolovat znovu). Potřebuješ oprávnění Change settings (změnit nastavení).

Novější verze se ukáže i jako varování zdraví. Neúspěšná kontrola se ukáže jen pod Updates.

  1. Stáhni nový image a restartuj: docker compose pull, pak docker compose up -d.
  2. HolyArrs se spustí. Když nová verze mění způsob ukládání dat, nejdřív vytvoří zálohu a potom data aktualizuje. Aplikace by se měla otevřít v nové verzi.

Návrat ke starší verzi

Odkaz na Návrat ke starší verzi

HolyArrs nemůže měnit svůj vlastní image, takže spustíš starší image a HolyArrs vrátí zpět starší data.

  1. Změň tag image ve svém compose souboru (nebo v docker run) na starší, například holyarrs/holyarrs:<older version>.
  2. Spusť docker compose up -d.
  3. Pokud aktualizace data nezměnila, starší verze se spustí. Hotovo.
  4. Jinak starší verze místo aplikace ukáže stránku. Klikni na Put back the data from before the update (vrátit data z doby před aktualizací).
  5. Zadej jednorázový kód. Najdeš ho pomocí docker logs <container>; hledej „one-time code“.
  6. HolyArrs zkontroluje zálohu, vloží ji na místo a zastaví se. Kontejner by se měl na těch datech znovu spustit podle své zásady restartu. Bez ní ho spusť sám.

Bez té stránky: docker exec <container> /holyarrs restore --pre-update, potom docker restart <container>. Bez Dockeru: zastav HolyArrs, spusť holyarrs restore --pre-update a znovu ho spusť.

Nic se nemaže. Novější data se přesunou do backups/before-restore-<time>/, takže to jde vzít zpět. Při návratu o víc než jednu verzi se vybere nejnovější záloha před aktualizací, kterou ta verze umí přečíst.

Všechno je v Settings > Health checks (Nastavení > Kontroly zdraví). Poslední tři jsou v pokročilé části karty.

Nastavení Výchozí Změň, když
Check for a newer HolyArrs (hledat novější HolyArrs) Zapnuto Nechceš žádný požadavek ven
Check for updates every (kontrolovat aktualizace každých) den Chceš méně kontrol: 3, 7, 14 nebo 30 dní
Release feed (feed releasů) Prázdný (releasy HolyArrs) Hostuješ vlastní feed
Feed may be on the local network (feed smí být v místní síti) Vypnuto Tvůj feed je v tvé vlastní síti
Include test versions (like 1.2.0-rc1) (zahrnout testovací verze) Vypnuto Chceš upozornění na testovací verze

Když to nefunguje

Odkaz na Když to nefunguje

Příznak: „The last check did not work.“ Příčina: server nemá internet, nebo je tvůj vlastní feed v místní síti. Řešení: zkontroluj přístup k internetu, nebo zapni Feed may be on the local network.

Příznak: feed releasů se nechce uložit. Příčina: adresa obsahuje jméno, heslo, ?query nebo #fragment, nebo nezačíná na http:// či https://. Řešení: ty části odstraň.

Příznak: aktualizace se zastavila kvůli nedostatku místa na disku. Příčina: není místo na kopii a na aktualizaci. Řešení: uvolni místo tam, kde je konfigurační složka, a spusť to znovu.

Příznak: stránka pro návrat odmítá tvůj kód. Příčina: starý kód, nebo 10 špatných kódů od posledního spuštění. Řešení: zkopíruj kód z nejnovějšího řádku logu. Po 10 špatných pokusech restartuj kontejner a použij nový kód.

Některé funkce jsou v tomto vydání ve výchozím stavu vypnuté. Zapínáš je na vlastní riziko. Dokud jsou odložené, jejich stránky a položky menu jsou skryté, jejich API routy odpovídají „not found“ a jejich úlohy nebězí. Data, která jsi pro ně uložil, zůstanou.

Funkci zapneš tak, že její přepínač přidáš do HOLYARRS_FLAGS, oddělený čárkami, a restartuješ kontejner:

environment:
HOLYARRS_FLAGS: "subtitle_sites,alert_channels_more"

Pro vypnutí název odeber a restartuj. Skrytá nastavení se vrátí, když funkci znovu zapneš.

Přepínač Funkce
row_title_stats Statistiky titulů v řadách Explore v Appearance
trakt_lists Trakt klíč, Trakt seznamy a Trakt recenze. TMDB seznamy zůstávají zapnuté
alert_channels_more Upozornění přes Telegram, ntfy, Gotify, Pushover a webhook. Discord a e-mail zůstávají zapnuté
subtitle_sites Weby s titulky a hledání titulků. Tvůj jazyk titulků zůstává zapnutý
emby_signin Přihlášení přes Emby. Obnova knihovny Emby pořád funguje
go_back Panel Go back (zpět) na stránce Status. Kroky v části Návrat ke starší verzi fungují i bez něj

Po přidání přepínače se nic nezměnilo? Zkontroluj pravopis (malá písmena, podtržítka) a restartuj kontejner, ne jen stránku.

Co kontrola posílá

Jeden požadavek na api.github.com na nejnovější vydání, jen s User-Agent: HolyArrs/<version>. Žádný účet, klíč ani seznam médií. Při vypnuté kontrole žádný požadavek.

Poslední odpověď se uloží, takže restart nekontroluje dřív, než je to na řadě. Jedna kontrola čeká nejvýš 15 s, přečte nejvýš 512 KB a následuje nejvýš 3 přesměrování, nikdy nepřepíná mezi http a https. Odkaz na poznámky k vydání se ukáže jen tehdy, když vede na stránky vydání HolyArrs na GitHubu; jinak se verze ukáže jako prostý text.

Release feed přijímá odpověď ve stylu releasů z GitHubu, seznam releasů, libovolný JSON s version nebo prostý text s verzí. Adresy cloudových metadat se vždy odmítnou. Testovací verze se počítá jako starší než stejná běžná verze.

Záloha před aktualizací

Před změnou uložených dat HolyArrs:

  1. Zkontroluje, jestli je místo na kopii a na aktualizaci. Když ne, nic se nezmění. Přeskočíš to pomocí HOLYARRS_SKIP_SPACE_CHECK=yes.
  2. Zkopíruje každou databázi do backups, zkontroluje kopii a vedle ní zapíše soubor sha256. Po 3 neúspěšných kopiích se nic nezmění.
  3. Spustí každý krok aktualizace zvlášť a zkontroluje ho. Neúspěšný krok se vrátí zpět; dokončené kroky zůstanou. Spusť stejnou verzi znovu a naváže se od neúspěšného kroku se stejnou kopií.

Po prvním úspěšném spuštění se kopie změní na holyarrs-backup-pre-update-<time>.zip s popisem jako „before updating from 1.1.0 to 1.2.0“. Ukáže se v Settings > Backups (Nastavení > Zálohy) a v holyarrs restore --list. Nejnovější 3 se ponechají; plán záloh je nikdy neodstraní. Čistá instalace nebo aktualizace, která data nechává být, žádnou nevytvoří.

Ověření image

Od verze 1.0.3 je každý image na Docker Hubu podepsaný workflow vydání na GitHubu. Žádný klíč se stahovat nemusí. Image ověříš pomocí cosign. Verzi, kterou provozuješ, například 1.0.3, doplň tam, kde stojí <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)$'

Měl bys vidět The cosign claims were validated. Cokoli jiného znamená, že image nepochází z workflow vydání HolyArrs: nespouštěj ho.

Image také nese záznam o tom, jak byl sestaven, a seznam toho, co obsahuje (SBOM). Ověříš je pomocí GitHub CLI:

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

Stejné soubory jsou u každého vydání na GitHubu: .sigstore.json (podpis), .intoto.jsonl (záznam o sestavení) a .sbom.spdx.json (obsah).

HolyArrs je zdarma. Pokud ti ušetřil čas, dej mu hvězdičku na GitHubu, podpoř ho sponzorstvím nebo kup mi kávu.