Skip to content

PlugArr 0.2.1

Choose a tag to compare

@yannickuhrig1 yannickuhrig1 released this 04 Sep 07:34
· 19 commits to main since this release

Votre configuration se sauvegarde et se restaure. C'est le filet qui manquait : jusqu'ici, reinstaller signifiait ressaisir tous vos indexeurs, vos profils et vos bibliotheques.

Ce qui est archive, et pourquoi

PlugArr regenerait deja tout ce qu'il avait genere — mots de passe, cles API, ports, tous dans stack.yml. Il ne savait rien de ce que vous aviez saisi ensuite : vos indexeurs vivent dans la base de Prowlarr, vos profils dans celle de Sonarr. C'est cela qu'une reinstallation perdait.

Trois emplacements, et le troisieme est celui qu'on oublie :

Le repertoire du projet stack.yml, .env, docker-compose.yml — sans eux, aucun service ne se rouvre
CONFIG_ROOT vos indexeurs, vos profils, votre travail
Les volumes Docker la base de Silo n'est pas sous CONFIG_ROOT

Une sauvegarde qui n'archive que des dossiers aurait manque la base de Silo en silence, et la restauration aurait rendu un Silo qui redemarre en boucle. Le genre d'oubli qui ne se revele que le jour ou l'on en a besoin.

Les conteneurs sont arretes pendant la copie. Une base SQLite copiee a chaud donne un fichier valide en apparence et inutilisable en pratique. --live existe pour qui accepte ce risque ; le manifeste le consigne et la restauration en avertit.

DATA_ROOT n'est jamais touche. Vos medias ne sont pas une configuration.

Le test qui compte

Verifie sur une pile reelle, pas simule. Un temoin pose dans Sonarr, sauvegarde, destruction totale — conteneurs, volumes, dossiers — puis restauration vers un autre chemin :

TEMOIN RETROUVE : True
plugarr-silo : Up 40 seconds (healthy)     des le premier demarrage
12/12 liens etablis, 0 crees a ce passage

Zero cree. Apres restauration, tout le cablage existait deja.

La restauration est dans l'assistant

Elle avait d'abord ete laissee en ligne de commande, au motif qu'un bouton serait dangereux. L'argument etait faible : la ligne de commande a exactement le meme pouvoir.

La vraie raison designe le bon endroit. La console d'administration commence par lire un stack.yml ; sur une machine fraichement formatee il n'y en a pas, puisque c'est ce que l'archive contient. Un bouton la-bas aurait ete inutilisable dans le seul cas ou il sert.

L'assistant, lui, demarre sans rien. Restaurer une sauvegarde est donc propose des son premier ecran. Un bouton Examiner l'archive montre date, pile, services et emplacement d'origine avant d'ecraser quoi que ce soit, et signale une archive prise a chaud. Le bouton Restaurer reste inerte tant que l'examen n'a pas reussi.

Un champ permet de reposer la configuration ailleurs que son emplacement d'origine, les chemins etant reecrits — pour un changement de machine ou de lettres de lecteur.

La sauvegarde, elle, a son bouton sur la page d'administration.

Aussi

Les empreintes des cinq prochains services sont relevees et epinglables : Seerr, Audiobookshelf, Shelfarr, Shelfmark, DroppedNeedle. Un obstacle reel est documente sur Audiobookshelf, dont l'initialisation ne correspond pas a sa documentation — il n'entrera au catalogue qu'une fois cable et verifie.


740 tests. Feuille de route : ROADMAP.md.