Sauvegardes et mises à jour¶
Deux habitudes protègent votre serveur :
- Sauvegarder. Activez une sauvegarde quotidienne de la base de données,
et gardez une copie du dossier
evey-dataailleurs. - Mettre à jour. Une commande va chercher la nouvelle version. Evey sauvegarde d'abord la base de données, automatiquement, chaque fois qu'une mise à jour la modifie.
Cette page montre les deux, puis ce que contient une sauvegarde, comment en restaurer une, et comment revenir à une version plus ancienne.
Planifier les sauvegardes¶
- Allez dans Administration → Sauvegarde BDD et restauration, carte Planification.
- Dans Expression cron, indiquez quand la lancer.
0 3 * * *veut dire tous les jours à 3 h du matin. (Le format est : minute, heure, jour, mois, jour de la semaine.) - Dans Rétention (jours), indiquez combien de temps garder chaque
sauvegarde, par exemple
30. Les sauvegardes plus anciennes sont supprimées après chaque sauvegarde planifiée. - Cochez Activé, puis appuyez sur Enregistrer.
Lancer maintenant fait une sauvegarde tout de suite, tout comme Créer une sauvegarde en haut de la page.
Les sauvegardes sont rangées dans ./evey-data/backups. C'est à l'intérieur
du dossier que vous devriez de toute façon copier sur un autre disque (voir
Ce que contient une sauvegarde).
En ligne de commande
Un script ou une tâche cron sur la machine peut faire la même sauvegarde :
Elle suit le réglage de télémétrie du panneau (plus bas) ;
--include-telemetry ajoute la télémétrie pour cette fois seulement.
Le serveur sauvegarde aussi automatiquement la base de données avant qu'une mise à jour la modifie, quelle que soit la planification (voir Mettre à jour Evey).
Ce que contient une sauvegarde¶
Une sauvegarde est une copie de la base de données : comptes, profils, bibliothèques et leur catalogue, historique de visionnage et points de reprise, collections, playlists et favoris, réglages, informations des plugins, webhooks, clés API, notifications et journaux d'audit.
Elle ne contient pas :
- vos fichiers de médias ;
- le cache vidéo (il se reconstitue automatiquement) ;
- l'index de recherche (reconstruit à partir de la base de données) ;
- les clés gardées dans
./evey-data:jwt.key, qui protège toutes les connexions, le dossierkeys(mot de passe de la base de données, clé de recherche), ethls_aes.key, la clé qui chiffre les segments de diffusion (créée au premier démarrage, droits 0600) ; - les fichiers des plugins installés.
Gardez donc aussi une copie de tout le dossier ./evey-data. Une
sauvegarde de la base de données remet Evey en état sur la même
installation. Pour reconstruire une machine à partir de rien, il vous faut le
dossier.
La télémétrie, et le format du fichier
Les mesures de lecture et du serveur (qui alimentent les graphiques de qualité et de charge) sont laissées de côté par défaut : ce sont elles qui grossissent le plus vite, et elles n'apportent aucune information sur votre catalogue. Inclure la télémétrie dans les sauvegardes (Administration → Configuration du serveur) les inclut, pour les sauvegardes manuelles, planifiées et en ligne de commande. Restaurer une sauvegarde vide toujours ces tables.
Une sauvegarde est un fichier .tar.gz qui contient l'export de la base
de données et une courte description avec son empreinte (SHA256) et sa
version de schéma.
Restaurer une sauvegarde¶
Administration → Sauvegarde BDD et restauration liste les sauvegardes. Restaurez-en une depuis la liste, ou envoyez un fichier avec Restaurer depuis un fichier. Restaurer remplace la base de données actuelle : tout ce qui a changé depuis cette sauvegarde est perdu.
Seulement une sauvegarde d'une version avec la même organisation de base
Le serveur vérifie d'abord le fichier et l'organisation de la base de données (la version du schéma). Il refuse une sauvegarde faite par une version dont l'organisation est différente, au lieu de la charger. Pour revenir à une version plus ancienne avec ses données, voir Revenir en arrière.
Si le serveur ne démarre plus, la ligne de commande peut restaurer les copies
de secours faites avant une mise à jour (pre-migration-*.sql.gz), pas les
sauvegardes .tar.gz de ce panneau : voir Restauration.
Mettre à jour Evey¶
Dans le dossier qui contient votre fichier compose :
C'est toute la mise à jour.
- Vos données sont sauvegardées d'abord. Quand la nouvelle version doit
modifier la base de données, elle en écrit d'abord une copie dans
./evey-data/backups/pre-migration-*.sql.gz(les trois plus récentes sont gardées), puis fait le changement au démarrage. - Cela peut prendre quelques minutes sur un gros catalogue. Le conteneur est de nouveau signalé en bonne santé dès qu'il répond.
- Evey vous dit quand une mise à jour existe. Il vérifie toutes les heures si une image plus récente est publiée, et le signale dans le panneau d'administration. Il ne se met jamais à jour de lui-même.
- Quelle version tourne :
docker exec evey-server evey versionaffiche la version et le commit.
Fixer exactement la version que vous faites tourner
latest suit la dernière version publiée et change à chaque mise à jour.
Pour un serveur sur lequel vous comptez, mettez un tag de version
(0.1.0, ou 0.1 pour ne recevoir que ses correctifs) ou un tag fixe sha-<commit> sur la ligne image:, pour que
deux pull à un jour d'écart fassent tourner le même code.
Le tableau de Installation indique ce que chaque tag vous apporte.
Revenir en arrière¶
- Remettez le tag précédent sur la ligne
image:de votre fichier compose. - Si la version plus récente a modifié la base de données, restaurez
d'abord sa copie d'avant la mise à jour :
docker exec evey-server evey admin rollbackaffiche les étapes exactes, avec le chemin du fichier. - Lancez
docker compose up -d.
Les tags d'image, les autres variantes et les versions pour carte graphique sont décrits dans Déploiements avancés.