Sauvegarder et restaurer votre instance
Il n'existe pas de sauvegarde automatisée à l'intérieur de KolleK. Protéger les données est le travail de l'opérateur, et cette page en est la procédure. C'est aussi, aujourd'hui, la vraie réponse à « comment tout exporter », comme l'explique Sauvegarder les données de votre collection du point de vue du collectionneur.
Ce qu'est une sauvegarde complète
Trois éléments, et les trois comptent :
- La base de données, dans le volume
db-data. Chaque enregistrement : comptes, collections, objets, exemplaires, historique. - Le volume de stockage,
storage-data. Chaque photo et document téléversé. - La clé d'application,
APP_KEYde votre.env(plusAPP_PREVIOUS_KEYSsi définie).
Une sauvegarde sans sa clé d'application correspondante n'est pas une sauvegarde. Les champs chiffrés se restaurent en texte chiffré illisible sans la clé qui les a écrits. Conservez la clé avec, ou à côté de, chaque sauvegarde que vous effectuez. Voyez La clé d'application et le chiffrement.
Sauvegarder
Exportez la base de données :
docker compose exec mysql mysqldump -u root -p"$DB_ROOT_PASSWORD" "$DB_DATABASE" > kollek-backup.sql
Archivez le volume de stockage :
docker run --rm -v kollek_storage-data:/data -v "$PWD":/backup alpine tar czf /backup/kollek-storage.tar.gz -C /data .
Copiez les deux fichiers, ainsi qu'une copie de votre .env, quelque part en dehors du serveur. Automatisez cela avec une tâche cron nocturne et conservez plus d'une génération ; une sauvegarde que vous n'avez jamais restaurée est un espoir, pas un plan.
Restaurer
Sur une machine neuve, restaurez dans cet ordre :
- Installez la même version de KolleK en suivant Installer avec Docker, mais définissez
APP_KEY(etAPP_PREVIOUS_KEYS) à partir de votre sauvegarde plutôt que de générer une nouvelle clé. - Démarrez la stack une fois afin que les volumes existent, puis chargez l'export de base de données :
docker compose exec -T mysql mysql -u root -p"$DB_ROOT_PASSWORD" "$DB_DATABASE" < kollek-backup.sql
- Décompressez l'archive de stockage dans le volume de stockage :
docker run --rm -v kollek_storage-data:/data -v "$PWD":/backup alpine tar xzf /backup/kollek-storage.tar.gz -C /data
- Redémarrez la stack avec
docker compose up -det connectez-vous pour vérifier.
La commande qui supprime tout
docker compose down -v supprime les volumes nommés, c'est-à-dire la base de données et chaque fichier téléversé. N'utilisez jamais l'option -v sur une instance réelle. Un simple docker compose down est sûr et laisse les volumes intacts.
Et ensuite
- Comprenez ce que la clé protège dans La clé d'application et le chiffrement.
- Découvrez ce que les collectionneurs peuvent exporter depuis l'application dans Sauvegarder les données de votre collection.