Sauvegardes
Sauvegarde manuelle
ssh user@10.0.0.10
cd /opt/stayflow
# Dump PostgreSQL
docker exec stayflow-postgres pg_dump -U stayflow stayflow \
| gzip > /opt/stayflow/backups/stayflow_$(date +%Y%m%d_%H%M).sql.gz
# Vérifier
ls -lh /opt/stayflow/backups/
Sauvegarde automatique (cron)
# Créer le dossier
mkdir -p /opt/stayflow/backups
# Éditer la crontab
crontab -e
Ajouter cette ligne (sauvegarde chaque nuit à 2h00) :
0 2 * * * docker exec stayflow-postgres pg_dump -U stayflow stayflow | gzip > /opt/stayflow/backups/stayflow_$(date +\%Y\%m\%d).sql.gz
Nettoyage automatique (garder 30 jours)
# Ajouter après la ligne de backup dans crontab
5 2 * * * find /opt/stayflow/backups -name "*.sql.gz" -mtime +30 -delete
Restaurer une sauvegarde
danger
La restauration écrase toutes les données actuelles. À faire uniquement en cas de panne grave.
# Arrêter l'API
docker compose -f docker-compose.hotel.yml stop api
# Restaurer
gunzip -c /opt/stayflow/backups/stayflow_20260101.sql.gz \
| docker exec -i stayflow-postgres psql -U stayflow stayflow
# Redémarrer
docker compose -f docker-compose.hotel.yml start api
Synchroniser les sauvegardes vers ton PC
# Depuis ton PC (via WireGuard)
rsync -avz user@10.0.0.10:/opt/stayflow/backups/ \
~/Bureau/Stayflow_root/backups/hotel-a/