Sauvegarde, Transfert et Redéploiement de Jellyfin Docker

morgyann

Grand Maître Jedi
Membre Confirmé
2 Février 2023
3 354
821
263
.bzh
yapasdebug.bzh
À l'attention des utilisateurs de Jellyfin en Docker.
La sauvegarde, le redéploiement et le transfert de Jellyfin/Docker s'effectue-t-il de la même façon que la plupart des piles Docker ?
À savoir : 1. Sauvegarde du dossier "config". 2. Redéploiement de la pile (sur un autre serveur par ex). 3. Remplacement du dossier config.
N'ayant jamais testé pour Jellyfin…
 
Dernière édition:
La sauvegarde, le redéploiement et le transfert de Jellyfin/Docker s'effectue-t-il de la même façon que la plupart des piles Docker ?
Oui, pour 'lavoir deja fait 2 ou 3 fois, c'est du "classique".

Il y a juste deux subtilités je trouve :

1/ Avec les métadonnées, et autres, les dossiers de Jellyfin sont très très très rempli de dossiers/sous-dossiers, avec dedans des milliers de petits fichiers ( jaquettes, ... ) donc une copie "simple" ( copier / coller par exemple ) peut rapidement devenir tres longue. L'astuce est donc de faire une archive du dossier, de la transférer sur le nouveau stockage/nouvelle machine/.. puis de le décompresser. C'est souvent plus rapide au final. ( bien sur cela va dépendre de la taille de l'installation ;) )

2/ Jellyfin fonctionne avec une base de données qui est plutôt sensible ( Il y a d'ailleur un gros chantier en cours chez Jellyfin à ce sujet qui a déja commencé, et va encore évoluer avec la version 12 qui arrive bientot ). En gros, il faut bien s'assurer que Jellyfin est à l'arret AVANT de copier les fichiers de la base de données. une copie de la base de données alors que Jellyfin est en cours d'execution, c'est un gros risque d'avoir au final une base de données inexploitable.
Et une bonne chose a ce sujet, il est maintenant possible de lancer un backup de la BD depuis l'interface d'administration de Jellyfin, cependant je n'ai pas vu de possibilité de planifier ce backup, mais cela viendra surement ! Ou peut etre c'est possible de le déclencher via l'API je ne me suis pas encore penché sur le sujet.
 
  • J'aime
Réactions: morgyann
Oui, pour 'lavoir deja fait 2 ou 3 fois, c'est du "classique"
Super :) parce qu'avec Plex ça ne marche qu'une fois sur dix, même en suivant la procédure à la lettre (je pense que c'est dû à l'identification du serveur et du compte).
C'est surtout pour les médias personnels que je commence à personnaliser (couverture, texte descriptif etc) — sur Jellyfin. Un chantier chronophage et il ne faudrait pas que tout saute sur un changement de machine ou de maintenance.
va encore évoluer avec la version 12 qui arrive bientot
Oui, j'ai vu, je testerai si j'ai deux minutes (sur ma machine de test) la version "RC".
 
Oui, pour 'lavoir deja fait 2 ou 3 fois, c'est du "classique".

Je confirme. Rien de bien sorcier même en le faisant manuellement avant que je ne mette en place une replication via HAST et CARP (que ce soit sur 10.10.x ou même 10.11.x).

Il y a juste deux subtilités je trouve :

1/ Avec les métadonnées, et autres, les dossiers de Jellyfin sont très très très rempli de dossiers/sous-dossiers, avec dedans des milliers de petits fichiers ( jaquettes, ... ) donc une copie "simple" ( copier / coller par exemple ) peut rapidement devenir tres longue. L'astuce est donc de faire une archive du dossier, de la transférer sur le nouveau stockage/nouvelle machine/.. puis de le décompresser. C'est souvent plus rapide au final. ( bien sur cela va dépendre de la taille de l'installation ;) )

C'est ça si l'on ne peut faire une réplication directement au niveau des blocs.

2/ Jellyfin fonctionne avec une base de données qui est plutôt sensible ( Il y a d'ailleur un gros chantier en cours chez Jellyfin à ce sujet qui a déja commencé, et va encore évoluer avec la version 12 qui arrive bientot ). En gros, il faut bien s'assurer que Jellyfin est à l'arret AVANT de copier les fichiers de la base de données. une copie de la base de données alors que Jellyfin est en cours d'execution, c'est un gros risque d'avoir au final une base de données inexploitable.
Et une bonne chose a ce sujet, il est maintenant possible de lancer un backup de la BD depuis l'interface d'administration de Jellyfin, cependant je n'ai pas vu de possibilité de planifier ce backup, mais cela viendra surement ! Ou peut etre c'est possible de le déclencher via l'API je ne me suis pas encore penché sur le sujet.

La 10.11.x apporte une facilité à ce sujet : cf. https://jellyfin.org/docs/general/administration/backup-and-restore (y)
 
Oui cependant pour l'instant la recommandations officielles commence pas "Stop the running Jellyfin server.". L'avantage du backup auto intégré a Jellyfin, c'est qu'il n'y a pas besoin de faire d'interruption de Jellyfin.

Avec une base SQLite, je ne me risquerai pas à une quelconque sauvegarde pendant qu'un processus à une connexion à celle-ci, peu importe ce qui se dit 😅

D'ailleurs cette précaution est aussi mentionnée par l'équipe de Jellyfin :

Built-in Backup​

Jellyfin's built-in backup system is able to create a backup while your system is online and running, as opposed to the manual process that requires you to stop Jellyfin beforehand. However in 10.11 we still recommend performing the backup process during a time of low activity and while no scan is currently active.
 
Avec une base SQLite, je ne me risquerai pas à une quelconque sauvegarde peu importe ce qui se dit 😅
On est d'accord. Dans le cas d'une migration, d'un truc prévu je préfèrerai toujours réaliser un backup que je sait sain et donc a l'arrêt avant.

Cependant avoir des backups auto, qui pourrai pourquoi pas ce lancer d'eux même lors dune période calme, et limiter les activités pendant leur exécution et a mon sens important. Le bon backup est celui qui ce fait sans avoir besoin d'y penser 🤣
 
  • J'aime
Réactions: MilesTEG
On est d'accord. Dans le cas d'une migration, d'un truc prévu je préfèrerai toujours réaliser un backup que je sait sain et donc a l'arrêt avant.

(y)

Cependant avoir des backups auto, qui pourrai pourquoi pas ce lancer d'eux même lors dune période calme, et limiter les activités pendant leur exécution et a mon sens important. Le bon backup est celui qui ce fait sans avoir besoin d'y penser 🤣

Un cronjob de backup suivant les accès disques du ou des processus accédant à la base SQLite est assez trivial à faire.
Une fois en place, plus besoin d'y penser :cool:
 
  • J'aime
Réactions: EVO
Perso pour les backup, c’est Proxmox qui envoie vers deux PBS en stoppant les lxc et les vm la nuit, vers 3h du matin. Mon jellyfin est dans un lxc Ubuntu .

Je me demande aussi si je ne recréerais pas un lxc mais en Debian .
Car là c’est une vielle version 24.04 je crois ou 24.10. Et les maj à faire ne sont pas raccords avec toutes les vm et lxc Debian 😆