Files
office_translator/PROCEDURE_RESTAURATION.md
sepehr fa19f33ab0
Some checks failed
Deploy to Production / Build and Deploy (push) Has been cancelled
docs: add French restore procedure guide PROCEDURE_RESTAURATION.md
2026-06-07 11:20:04 +02:00

4.7 KiB

Procédure de Restauration — Wordly.art

Ce document décrit comment restaurer rapidement et facilement l'application Wordly.art à partir des sauvegardes stockées sur le NAS (192.168.1.146), soit en cas de corruption de données sur le serveur principal, soit en cas de sinistre total nécessitant le basculement sur le serveur de secours.


📋 Table des matières

  1. Restauration sur le serveur principal (192.168.1.151)
  2. Restauration d'urgence sur le serveur de secours (192.168.1.98)
  3. Vérifications post-restauration

1. Restauration sur le serveur principal (192.168.1.151)

💡 Cas d'usage : Corruption de la base de données, erreur humaine (ex: suppression accidentelle), ou besoin de revenir à un état antérieur sur le serveur de production actif.

Étape 1.1 : Trouver le fichier de sauvegarde à restaurer

Connectez-vous en SSH sur le serveur principal (192.168.1.151) et listez les archives disponibles sur le NAS :

cd /opt/wordly
bash scripts/backup-to-nas.sh --list

Notez le nom de l'archive que vous souhaitez restaurer (ex: wordly_dr_20260607_120000.tar.gz).

Étape 1.2 : Exécuter la restauration

Lancez la commande suivante en remplaçant NOM_ARCHIVE.tar.gz par le nom du fichier choisi :

sudo bash scripts/disaster-recovery.sh --restore /volume1/backups/wordly/snapshots/NOM_ARCHIVE.tar.gz

Étape 1.3 : Confirmer

Le script vous demandera une confirmation de sécurité. Saisissez textuellement :

RESTORE-ALL

Le script arrête automatiquement les conteneurs, restaure la configuration, recrée la base de données PostgreSQL, réinjecte les données, puis relance l'application.


2. Restauration d'urgence sur le serveur de secours (192.168.1.98)

⚠️ Cas d'usage : Le serveur principal (192.168.1.151) est hors service (panne matérielle, panne réseau majeure, etc.). Vous devez reconstruire l'application sur le serveur .98 et y rediriger le trafic utilisateur.

Étape 2.1 : Se connecter au serveur de secours

Connectez-vous en root sur le serveur de secours :

ssh root@192.168.1.98

Étape 2.2 : Récupérer les outils et les sauvegardes depuis le NAS

Grâce à la clé SSH configurée, téléchargez les scripts de restauration et les archives depuis le NAS :

# 1. Créer le répertoire pour les scripts
mkdir -p /opt/wordly/scripts

# 2. Télécharger les scripts depuis le NAS
rsync -az -e "ssh -i /root/.ssh/wordly_nas_key" wordly-backup@192.168.1.146:/volume1/backups/wordly/scripts/ /opt/wordly/scripts/

# 3. Télécharger les fichiers de sauvegarde dans le dossier /tmp/
rsync -az -e "ssh -i /root/.ssh/wordly_nas_key" wordly-backup@192.168.1.146:/volume1/backups/wordly/snapshots/ /tmp/

Étape 2.3 : Choisir la sauvegarde et lancer la restauration

Listez les fichiers téléchargés dans /tmp pour identifier la dernière sauvegarde :

ls -lht /tmp/wordly_dr_*.tar.gz

Exécutez la restauration complète en remplaçant NOM_ARCHIVE.tar.gz :

bash /opt/wordly/scripts/disaster-recovery.sh --restore /tmp/NOM_ARCHIVE.tar.gz

Étape 2.4 : Confirmer

Saisissez la confirmation de sécurité :

RESTORE-ALL

⚙️ Automatisation effectuée par le script :

Le script effectue automatiquement les opérations suivantes :

  1. Extraction de l'environnement (.env), du docker-compose.yml et des configurations Docker.
  2. Démarrage des conteneurs applicatifs et de la base de données.
  3. Restauration de la base de données PostgreSQL.
  4. Redémarrage et vérification de la santé de l'application (HTTP Health Check).
  5. Appel de l'API de Nginx Proxy Manager (192.168.1.184) pour rediriger automatiquement le domaine wordly.art vers l'IP du serveur de secours (192.168.1.98).
  6. Envoi d'une alerte de succès sur votre Telegram.

3. Vérifications post-restauration

Si le script se termine avec succès, l'application est en ligne. Vous pouvez valider manuellement avec les commandes suivantes :

  • Vérifier l'état des conteneurs :
    docker compose ps
    
  • Tester l'accès HTTP en local :
    curl http://localhost:8001/health
    
  • En cas d'erreur de redirection automatique de NPM (Dernier recours) : Si la redirection automatique échoue, connectez-vous sur l'interface d'administration NPM :
    • URL : http://192.168.1.184:81
    • Allez dans Proxy Hosts -> wordly.art -> Edit
    • Modifiez le champ Forward Hostname/IP en y mettant l'IP du serveur actif (soit .151, soit .98).
    • Cliquez sur Save (la modification est instantanée).