# Playbook — Restaurer un projet depuis un backup Ce playbook décrit la procédure standard pour **restaurer un projet Docker sur le NUC** à partir d’une sauvegarde. Il couvre principalement : - restauration de base de données - restauration de volumes persistants - redémarrage de la stack Docker Ce playbook est utilisé après : - une migration - une perte de données - la recréation d’un environnement --- # Architecture de référence Sur le NUC, les données vivent dans : ``` /srv/ projects/ # code source docker-data/ # volumes persistants backups/ # sauvegardes ``` Les backups sont stockés dans : ``` /srv/backups/ ``` Exemple : ``` /srv/backups/portfolio/ ``` --- # Étape 1 — Vérifier que le projet existe Le projet doit être présent dans : ``` /srv/projects/ ``` Sinon : ``` cd /srv/projects git clone ``` --- # Étape 1b — Initialiser la mémoire projet Depuis la racine du projet : ``` cd /srv/projects/ gen-claude ``` Cette commande : - génère `CLAUDE.md` depuis le template projet - crée `AGENTS.md -> CLAUDE.md` - initialise la mémoire active du projet pour Claude / Codex --- --- # Étape 2 — Arrêter la stack Avant toute restauration, arrêter les conteneurs : ``` cd /srv/projects/ docker compose down ``` Cela évite les corruptions de données. --- # Étape 3 — Restaurer les volumes persistants Si le backup contient des volumes : Exemple : ``` /srv/backups/portfolio/uploads /srv/backups/portfolio/postgres ``` Restaurer dans : ``` /srv/docker-data// ``` Exemple : ``` cp -r /srv/backups/portfolio/uploads /srv/docker-data/portfolio/ ``` Important : - vérifier les permissions - vérifier que les dossiers existent --- # Étape 4 — Restaurer la base de données Si un dump SQL est disponible : Exemple : ``` /srv/backups/portfolio/db.sql ``` Importer : ``` psql -U -d -f db.sql ``` Exemple concret : ``` psql -U portfolio_user -d portfolio -f /srv/backups/portfolio/db.sql ``` --- # Étape 5 — Vérifier la configuration Docker Contrôler : - chemins des volumes - variables d’environnement - ports Fichier principal : ``` docker-compose.yml ``` --- # Étape 6 — Redémarrer le projet Depuis le dossier projet : ``` docker compose up -d ``` Vérifier : ``` docker ps ``` --- # Étape 7 — Vérifications post-restauration Contrôler : - que l’application démarre - que la base contient bien les données - que les volumes sont montés Commandes utiles : ``` docker compose logs -f ``` ou ``` docker logs ``` --- # Bonnes pratiques - toujours arrêter la stack avant restauration - restaurer les volumes **avant** de relancer Docker - vérifier les permissions des dossiers --- # Quand utiliser ce playbook Utiliser ce playbook lorsque : - un projet doit être restauré après incident - un environnement doit être reconstruit - une sauvegarde doit être testée Ce playbook complète : - `bootstrap_projet_docker.md` - `migration_projet_vers_nuc.md` --- # Outils associés - `scripts/generate_project_claude.sh` — permet de réinitialiser la mémoire projet si nécessaire après restauration