Solution de contournement
Récupération de la sauvegarde par sécurité
Mon premier conseil serait de conserver une copie de la backup avant l’upgrade qui a échoué. En particulier s’il n’y a pas de sauvegardes régulières (genre avec borg ou restic) qui soit faite avec une bonne rétention.
Il est possible de lister et de télécharger la sauvegarde par le biais de l’interface d’administration de Yunohost :
La sauvegarde devrait s’appeler peertube-pre-upgrade1 ou peertube-pre-upgrade2
La solution de contournement
Cette solution de contournement n’a pas été testée. Je veux bien des retours sur la réussite ou non de cette procédure.
Cette solution s’applique si, comme pour @parleur, la restauration échoue avec cette log (où XX et YY sont des sous-versions de nodejs) :
peertube.service: Failed at step EXEC spawning /opt/node_n/n/versions/node/22.XX.YY/bin/node: No such file or directory
Vous pouvez vérifier avoir ce genre d’erreur dans les logs pendant votre précédente tentative de restauration (directement après la tentative de mise à jour) ou en tentant une restauration de l’archive.
Si c’est bien l’erreur, je pense qu’une solution de contournement consiste à installer avant la restauration la version attendue de nodejs par la backup.
Pour ce faire, il est possible d’extraire la version en utilisant cette commande (qui va extraire la valeur de nodejs_version des settings depuis l’archive)
tar -xOf /home/yunohost.backup/archives/peertube-pre-upgrade*.tar apps/peertube/settings/settings.yml | grep -Po 'nodejs_version: \K.*'
Le résultat de cette commande devrait être la version de nodejs (exemple : 22.18.0).
Avec ce résultat, on peut pré-installer la version de nodejs (remplacer VERSION par la version obtenue plus tôt) :
N_PREFIX=/opt/node_n/ /usr/share/yunohost/helpers.v2.1.d/vendor/n/n install VERSION
Si tout va bien, une tentative de restauration devrait fonctionner (remplacer X par 1 ou par 2 en fonction du nom de votre sauvegarde)
yunohost backup restore peertube-pre-upgradeX