Actualizarea unui server media ar trebui să fie plictisitoare. În practică, exact atunci se strică lucrurile: rulează o migrare a bazei de date, un plugin nu se mai încarcă și serverul nu mai răspunde. De obicei afli din terminal, cu apt și câteva minute tensionate de urmărit loguri.
Self-Update scoate terminalul din această ecuație. Este un plugin Jellyfin care actualizează sau readuce la o versiune anterioară medialab Server (varianta MediaLab Works a Jellyfin 12.2) din interfața web. Înainte să instaleze ceva, face o copie de rezervă a bazei de date și a configurației, iar dacă versiunea nouă nu pornește corect, serverul revine singur la cea anterioară. Asta face ca o revenire la o versiune mai veche să fie suficient de sigură încât să o faci din browser.
Acest tutorial acoperă tot parcursul: verificarea versiunilor, actualizarea, revenirea la o versiune anterioară, verificarea zilnică la 03:00 și actualizarea automată opțională. Pagina produsului este la /products/jf-selfupdate, iar referința detaliată este ghidul de utilizare.
Cerințe preliminare
- medialab Server instalat din pachetele sale (
medialab-serverșimedialab-server-web) pe Debian sau Ubuntu. Aceste pachete aduc actualizatorul:/usr/lib/medialab-server/update.sh, unitățile systemdmedialab-update.pathșimedialab-update.serviceși folderul/var/lib/medialab-update. - Cel puțin 1 GB liber în
/usr/lib. Cu mai puțin, actualizarea se oprește cu Not enough disk space. - Un cont MediaLab Works cu licență care acoperă pluginul (un abonament activ, o licență pe viață în fereastra ei de actualizare, pachetul Jellyfin sau perioada de probă gratuită de 30 de zile) pentru actualizare și revenire. Verificarea versiunilor funcționează și fără licență.
- Acces de administrator la panoul Jellyfin. API-ul pluginului răspunde doar administratorilor Jellyfin.
Dacă medialab Server a fost instalat dintr-o arhivă, dintr-o instalare portabilă sau dintr-o compilare locală, actualizatorul lipsește: pagina explică cum să instalezi din pachete, iar acțiunile sunt dezactivate. Pe Jellyfin oficial, pagina arată doar cum să treci la medialab Server, păstrându-ți datele, utilizatorii, bibliotecile și pluginurile.
Pasul 1 — Instalezi pluginul
Din depozitul tău privat de pluginuri (recomandat). Jellyfin instalează și actualizează apoi pluginul singur.
- În contul tău MediaLab Works deschide Licenses → Jellyfin plugin repository și apasă Create address. Copiaz-o. Este privată pentru că conține un token, așa că nu o partaja; o poți regenera sau revoca oricând.
- În Jellyfin deschide Dashboard → Plugins → Repositories, apasă +, dă-i un nume (de exemplu MediaLab Works), lipește adresa și salvează.
- În Dashboard → Plugins → Catalog găsește Self-Update by MediaLab, apasă Install, apoi repornește serverul.
Din catalogul public. https://medialab.works/jellyfin/manifest.json listează toate pluginurile MediaLab Works publicate; medialab Server îl adaugă singur.
Manual, dintr-un fișier zip. Descarcă jf-selfupdate_x.y.z.zip din Account → Licenses (SHA-256 este afișat lângă buton), extrage-l într-un folder nou Self-Update by MediaLab_x.y.z.0 în /var/lib/jellyfin/plugins/ la o instalare din pachete și repornește serverul.
Pasul 2 — Activezi licența
- Deschide Dashboard → Plugins → Self-Update by MediaLab și apasă License (și pagina Server update are un buton License).
- Lipește license key și apasă Activate with key. Pluginul leagă cheia de acest server și afișează licența ca Active.
- Nu ai încă o cheie? Pe aceeași pagină introdu e-mailul și începe perioada de probă de 30 de zile, sau cumpără o licență; pluginul se activează singur după ce plata este finalizată.
Licența este verificată o dată pe zi și la fiecare pornire a serverului, precum și din nou înainte de o actualizare, o revenire sau o actualizare automată, dacă nu a fost verificată cu puțin timp înainte. Fără internet, rămâne validă 7 zile după ultima verificare reușită. Move license (release this server) de pe pagina License eliberează cheia pentru alt server.
Pasul 3 — Verifici acum și citești lista de versiuni
Deschide Server update în meniul panoului Jellyfin (doar administratori).
- Installed version arată revizia medialab, pachetul instalat (de exemplu
12.2+ml4+deb12), versiunea Jellyfin și cea mai nouă versiune găsită la ultima verificare. - Apasă Check now. Actualizatorul citește depozitul medialab, iar lista Available versions arată fiecare versiune, marcată installed, newer sau older.
Fă asta înainte să planifici orice mentenanță. Este o operație doar de citire și funcționează fără licență.
Pasul 4 — Actualizezi la cea mai nouă versiune sau la una aleasă
- Update to x instalează cea mai nouă versiune.
- Install lângă o versiune o instalează pe aceea.
- Roll back to the previous version trece la versiunea imediat sub cea instalată; Roll back lângă o versiune mai veche trece la aceea. De la medialab Server 12.2-ml.7 încolo, revenirea sub 12.2-ml.7 este refuzată intenționat, pentru că versiunile mai vechi au actualizatorul mai puțin sigur.
Fiecare acțiune cere mai întâi o confirmare. Citește-o: îți amintește că serverul se repornește, deci redarea în curs se oprește; că baza de date și configurația sunt salvate întâi; și că, dacă serverul nu pornește corect, revine singur la versiunea curentă.
Cât timp o actualizare rulează, sau cât timp o cerere așteaptă să fie preluată, o cerere nouă este refuzată.
Pasul 5 — Urmărești progresul peste repornire
Current operation urmărește cererea: trimisă, în rulare, The server is restarting…, apoi pagina se reîncarcă singură când serverul răspunde din nou. Repornirea durează de obicei 1–3 minute.
Last result arată apoi cum s-a terminat:
- succeeded;
- failed, rolled back automatically, cu versiunea la care serverul a revenit;
- refused, cu motivul, de exemplu o versiune care nu este în depozit.
În cazul rar în care serverul nu răspunde nici după revenire, pagina arată unde este copia de rezervă.
Pasul 6 — Verificarea zilnică la 03:00 și actualizările automate opționale
Sarcina programată Check for medialab Server updates (categoria medialab, zilnic la 03:00) doar verifică depozitul. Nu instalează nimic.
În Automatic update:
- Install new versions automatically este oprită implicit.
- Update hour (server time) este ora la care poate fi instalată o versiune nouă (04:00 dacă nu o schimbi). Apasă Save.
Cu actualizarea automată pornită și o licență validă, când ultima verificare a găsit o versiune mai nouă decât cea instalată, aceasta este instalată la ora aleasă, cel mult o dată pe zi, cu aceeași copie de rezervă și revenire automată ca la o actualizare manuală. Ora verificării în sine o poți schimba în Dashboard → Scheduled Tasks.
Sfaturi și depanare
- Fără sudo, prin design. Pluginul rulează ca utilizatorul
jellyfinși scrie doar un fișier de cerere,/var/lib/medialab-update/request.json. Serviciul rootmedialab-updateîl validează strict: acțiunea trebuie să fie update, rollback sau check, versiunea trebuie să aibă formatul exact de pachet (de exemplu12.2+ml4+deb12) și trebuie să existe în depozit. Se instalează doar pachetelemedialab-serverșimedialab-server-web, și doar din depozitul apt medialab semnat, a cărui adresă este fixată pe server și nu vine niciodată din cerere. Dacă o cerere este refuzată, această verificare își face treaba. - Spațiu liber întâi. Verifică
/usr/libînainte de un salt mare. Not enough disk space este cea mai frecventă defecțiune evitabilă. - Alege o oră liniștită. O actualizare repornește serverul; redarea în curs se oprește pentru 1–3 minute. Verificarea la 03:00 și ora implicită de instalare 04:00 sunt un bun punct de plecare pentru un server de acasă.
- Acțiuni refuzate? Actualizarea, revenirea și actualizarea automată au nevoie de o licență validă; fără ea, verificarea funcționează în continuare și nu se șterge nimic. Uită-te la pagina License.
- Actualizări de plugin și licențe pe viață. Catalogul public oferă întotdeauna cea mai nouă versiune a pluginului. Când fereastra de actualizare a unei licențe pe viață s-a încheiat, o versiune mai nouă a pluginului nu este licențiată și se oprește cu "version not licensed" până când folosești Roll back to x.y.z pe pagina ei License sau cumperi un update pass. Ca să eviți asta, folosește depozitul tău privat, care oferă doar versiunile permise de licența ta, în locul catalogului public.
- Containere. Într-un container, actualizezi trăgând noul tag de imagine (12.2-ml.N) și recreând containerul; Self-Update arată versiunile disponibile, dar nu instalează pachete într-un container.
Concluzie
Partea valoroasă nu este butonul, ci ordinea operațiilor din spatele lui: copie de rezervă a bazei de date și a configurației, instalare și, dacă serverul nu revine, revenire la versiunea anterioară și restaurarea automată a copiei de rezervă. Cu verificarea zilnică la 03:00 care face citirea și cu actualizarea automată oprită până decizi altfel, păstrezi controlul fără să ții un terminal deschis. Începe la /products/jf-selfupdate, ține la îndemână ghidul și changelog, iar dacă ceva nu se leagă, baza de cunoștințe și FAQ sunt următoarele opriri.