Données et sauvegardes¶
Tout ce que HouseCairn écrit se trouve dans le volume /data :
Chemin |
Contenu |
|---|---|
|
La base SQLite, sauf si |
|
La clé qui signe les sessions et les jetons, en mode 600. La perdre déconnecte tout le monde ; gardez-la secrète. |
|
Fichiers téléversés. |
|
Copies faites par la commande |
Les fichiers appartiennent à 10001:10001 et ne sont lisibles que par cet utilisateur. Si vous montez un répertoire de l’hôte plutôt qu’un volume nommé, donnez-le d’abord à cet utilisateur : sudo chown -R 10001:10001 /srv/housecairn.
Sauvegarder¶
Sauvegardez /data de l’une de ces deux façons :
Copie à froid, la plus simple : arrêtez le conteneur, copiez le volume, redémarrez-le.
docker compose stop housecairn docker run --rm -v housecairn_housecairn-data:/data:ro -v "$PWD":/backup \ debian:stable-slim tar -czf /backup/housecairn-data.tar.gz -C /data . docker compose start housecairn
(Le nom du volume est
<project>_housecairn-data;docker volume lsl’affiche.)Copie à chaud de la base, pendant que HouseCairn tourne, avec l’API de sauvegarde de SQLite (la même que
sqlite3 db.sqlite3 ".backup ...") :docker compose exec housecairn python -m housecairn.entrypoint backup # prints /data/backups/db-<UTC date and time>.sqlite3
Copiez ensuite
/data/backups/,/data/secret_keyet/data/media/hors de la machine. Supprimez vous-même les anciennes copies de/data/backups/.
Avec PostgreSQL, sauvegardez la base avec pg_dump, et /data pour la clé et les fichiers téléversés.
Restaurer¶
Pour restaurer, arrêtez le conteneur, remettez les fichiers dans le volume (propriété de 10001:10001), puis démarrez-le.