Self-Update pentru medialab Server — ghid
Înainte de a începe
Self-Update actualizează medialab Server instalat din pachetele medialab-server și medialab-server-web (Debian sau Ubuntu). Aceste pachete aduc actualizatorul cu care vorbește plugin-ul: scriptul /usr/lib/medialab-server/update.sh, unitățile systemd medialab-update.path și medialab-update.service și folderul /var/lib/medialab-update. Pe Jellyfin oficial sau pe medialab Server instalat dintr-o arhivă ori compilat local, pagina plugin-ului explică doar instalarea din pachete; până atunci nu se poate actualiza nimic din ea. Pentru instalarea medialab Server vezi Instalarea medialab Server cu apt sau în container.
Într-un container, actualizezi trăgând noul tag al imaginii (12.2-ml.N) și recreând containerul; Self-Update by MediaLab arată versiunile disponibile, dar nu instalează pachete într-un container.
Pentru actualizare și revenire ai nevoie și de un cont MediaLab Works cu o licență care acoperă plugin-ul (abonament activ, licență lifetime în perioada de actualizări, Pachetul Jellyfin sau perioada de probă gratuită de 30 de zile). Verificarea versiunilor merge fără licență.
Instalare
Din depozitul tău de plugin-uri (recomandat). Jellyfin instalează și actualizează apoi singur plugin-ul.
- În contul MediaLab Works deschide Licențe → Depozitul de plugin-uri Jellyfin și apasă Creează adresa. Copiaz-o: e privată (conține un token), deci nu o da mai departe; o poți regenera sau revoca oricând.
- În Jellyfin deschide Tablou de bord → Plugin-uri → „Repositories”, apasă +, dă-i un nume (de exemplu MediaLab Works), lipește adresa și salvează.
- În Tablou de bord → Plugin-uri → Catalog găsește Self-Update by MediaLab, apasă Instalează, apoi repornește serverul.
Din catalogul public. https://medialab.works/jellyfin/manifest.json arată toate plugin-urile MediaLab Works lansate, cu versiunile lor publice; medialab Server îl adaugă singur. Îl poți adăuga la fel ca să instalezi un plugin înainte să ai o cheie: plugin-ul îți cere apoi licența sau pornește perioada de probă din pagina lui Licență. Cu o licență lifetime a cărei perioadă de actualizări s-a încheiat, folosește depozitul tău privat, care oferă doar versiunile permise de licență.
Manual, dintr-o arhivă zip.
- În Cont → Licențe descarcă
jf-selfupdate_x.y.z.zip(SHA-256 al fișierului apare lângă buton). - Dezarhivează-l într-un folder nou
Self-Update by MediaLab_x.y.z.0din folderul de plugin-uri,/var/lib/jellyfin/plugins/la o instalare din pachete. - Repornește serverul.
Activarea licenței
- Deschide Tablou de bord → Plugin-uri → Self-Update by MediaLab și apasă Licență (și pagina Actualizare server are un buton Licență).
- Lipește cheia de licență și apasă Activează cu cheia. Plugin-ul contactează serverul de licențe, leagă cheia de acest server și arată licența Activă.
- Nu ai încă o cheie? Pe aceeași pagină scrii adresa de e-mail și pornești perioada de probă de 30 de zile (card necesar, nimic de plată azi) sau cumperi o licență; plugin-ul se activează singur după plată.
Licența se verifică o dată pe zi și la fiecare pornire a serverului, plus 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 licența rămâne valabilă 7 zile de la ultima verificare reușită. Fără o licență valabilă, verificarea versiunilor merge în continuare, dar actualizarea, revenirea și actualizarea automată sunt refuzate, cu motivul; nu se șterge nimic. Mută licența (eliberează serverul) din pagina Licență eliberează cheia pentru alt server.
Folosire
Deschide Actualizare server din meniul tabloului de bord Jellyfin (doar pentru administratori).
- Versiunea instalată: revizia medialab, pachetul instalat (de exemplu
12.2+ml4+deb12), versiunea Jellyfin și cea mai nouă versiune găsită la ultima verificare. - Verifică acum cere actualizatorului să citească depozitul medialab. Lista Versiuni disponibile arată apoi fiecare versiune, marcată ca instalată, mai nouă sau mai veche.
- Actualizează la x instalează cea mai nouă versiune; Instalează de lângă o versiune o instalează pe aceea. Revino la versiunea anterioară trece la versiunea imediat inferioară celei instalate; Revino de lângă o versiune mai veche trece la aceea. Începând cu medialab Server 12.2-ml.7, revenirea sub 12.2-ml.7 este refuzată intenționat: versiunile mai vechi au actualizatorul mai puțin sigur.
- Fiecare acțiune cere întâi o confirmare și îți amintește că:
- serverul repornește, deci redările în curs se opresc, iar pagina revine singură în 1–3 minute;
- întâi se face o copie de rezervă a bazei de date și a configurației;
- dacă serverul nu pornește corect, revine singur la versiunea curentă.
- Operația curentă urmărește cererea: trimisă, în curs, Serverul repornește…, apoi pagina se reîncarcă atunci când serverul răspunde din nou. Ultimul rezultat arată cum s-a încheiat: reușit; eșuat, revenit automat (cu versiunea la care a revenit serverul); refuzat (cu motivul, de exemplu o versiune care nu e în depozit).
Cât timp rulează o actualizare sau o cerere așteaptă să fie preluată, o cerere nouă e refuzată.
Actualizarea automată
În Actualizare automată:
- Instalează automat versiunile noi e oprit implicit.
- Ora actualizării (ora serverului): ora la care se poate instala o versiune nouă (04:00 dacă nu o schimbi). Apasă Salvează.
Sarcina programată Verifică actualizările medialab Server (categoria medialab, zilnic la 03:00) doar verifică depozitul. Cu actualizarea automată pornită și o licență valabilă, când ultima verificare a găsit o versiune mai nouă decât cea instalată, aceasta se instalează la ora aleasă, cel mult o dată pe zi, cu aceeași copie de rezervă și aceeași revenire automată ca la o actualizare manuală. Ora verificării se schimbă din Tablou de bord → Sarcini programate.
Actualizarea și revenirea plugin-ului
- Din depozit: Jellyfin arată versiunile noi ale plugin-ului în Tablou de bord → Plugin-uri și îl poate actualiza automat; repornește serverul ca să încarce versiunea nouă.
- Din pagina Licență a plugin-ului: cu o licență valabilă, Instalează actualizarea aduce cea mai nouă versiune permisă de licență, iar Rollback la x.y.z întoarce versiunea anterioară a plugin-ului. Repornește serverul după oricare dintre ele.
- Licența lifetime și actualizările automate. Catalogul public Jellyfin (
https://medialab.works/jellyfin/manifest.json) oferă mereu cea mai nouă versiune. După ce s-a încheiat perioada de actualizări a unei licențe lifetime, versiunile apărute ulterior nu sunt licențiate: dacă actualizarea automată a plugin-urilor din Jellyfin instalează una, plugin-ul se oprește cu „version not licensed” până revii cu Rollback la x.y.z din pagina lui Licență sau cumperi un abonament de actualizări. Ca să eviți asta, nu lăsa Jellyfin să actualizeze automat acest plugin: adaugă depozitul tău privat de plugin-uri, care oferă doar versiunile permise de licență, în locul catalogului public, sau scoate declanșatoarele sarcinii programate Update Plugins din Tablou de bord → Sarcini programate (asta oprește actualizările automate pentru toate plugin-urile).
Codul sursă
Codul sursă GPL-3.0 al fiecărei versiuni e în Cont → Licențe (Cod sursă), lângă descărcare, ca arhivă .tar.gz făcută din commit-ul exact al versiunii.
Probleme frecvente
- „Acest server rulează Jellyfin oficial”: plugin-ul merge doar pe medialab Server; pagina arată comenzile pentru trecere, care îți păstrează datele, utilizatorii, bibliotecile și plugin-urile.
- „medialab Server fără actualizator”: medialab Server a fost instalat dintr-o arhivă sau compilat local, ori actualizatorul e incomplet. Pagina spune ce lipsește:
/usr/lib/medialab-server/update.shsau folderul/var/lib/medialab-update(lipsă sau fără drept de scriere pentru serviciul Jellyfin). Instalează pachetelemedialab-serverșimedialab-server-web. - „Cererea nu a fost preluată de peste 2 minute”: serviciul actualizatorului nu urmărește cererile. Pe server rulează
systemctl status medialab-update.path. - „Nu s-a primit un rezultat în 40 de minute”: uită-te în jurnalul actualizatorului cu
journalctl -u medialab-update. - „Lipsește depozitul apt medialab”: fișierul
/etc/apt/sources.list.d/medialab.sourcesnu e pe server; reinstalează pachetul depozitului medialab. - „Spațiu insuficient pe disc”: eliberează cel puțin 1 GB în
/usr/libși încearcă din nou. - „Actualizarea la x a eșuat; serverul a revenit automat la y”: versiunea nouă nu a pornit corect, iar serverul e din nou pe cea anterioară, cu copia de rezervă restaurată. Trimite-ne jurnalul plugin-ului (pagina Licență → Jurnal).
- „Actualizarea la x a eșuat, iar după revenirea la y serverul nu răspunde”: mesajul arată unde e copia de rezervă. Verifică serverul cu
journalctl -u jellyfinșijournalctl -u medialab-updateși scrie-ne. - Actualizarea sau revenirea e refuzată cu un mesaj despre licență: activează licența din pagina Licență; verificarea versiunilor merge și fără ea.