Aller au contenu principal

Sauvegardes

Patrimo stocke toutes ses données dans PostgreSQL. Une stratégie de sauvegarde régulière est essentielle pour ne pas perdre l'historique de votre patrimoine.

Sauvegarde manuelle

Via Docker Compose (dev/prod local)

# Sauvegarde complète (SQL dump)
docker compose exec db pg_dump -U patrimo patrimo > backup_$(date +%Y%m%d_%H%M%S).sql

# Sauvegarde compressée
docker compose exec db pg_dump -U patrimo patrimo | gzip > backup_$(date +%Y%m%d_%H%M%S).sql.gz

Depuis l'hôte (si PostgreSQL accessible)

pg_dump postgresql://patrimo:<password>@localhost:5432/patrimo > backup.sql

Restauration

# Depuis un dump SQL
cat backup.sql | docker compose exec -T db psql -U patrimo patrimo

# Depuis un dump compressé
gunzip -c backup.sql.gz | docker compose exec -T db psql -U patrimo patrimo
Avant de restaurer

La restauration écrase les données existantes. Faites une sauvegarde de l'état actuel avant de restaurer une sauvegarde ancienne.

Sauvegarde automatique avec Coolify

Coolify propose une fonctionnalité de backups automatiques pour les services de base de données :

  1. Dans Coolify, ouvrez le service patrimo-db
  2. Onglet Backups
  3. Activez les backups automatiques
  4. Configurez la fréquence (ex. quotidien à 3h) et la rétention (ex. 30 jours)
  5. Optionnel : configurez un stockage S3 compatible pour les backups distants

Données sauvegardées

La base de données contient toutes les données applicatives :

  • Utilisateurs et credentials
  • Institutions et comptes
  • Transactions (historique complet)
  • Snapshots (historique des soldes)
  • Budget et allocations
  • Règles de catégorisation
  • Catégories personnalisées

Il n'y a pas de données dans le filesystem de l'application (pas d'uploads, pas de fichiers).

Tester sa restauration

Testez régulièrement vos sauvegardes en les restaurant dans un environnement de test :

# Créer une DB de test
createdb patrimo_test_restore

# Restaurer
psql patrimo_test_restore < backup.sql

# Vérifier les données
psql patrimo_test_restore -c "SELECT COUNT(*) FROM transactions;"

Voir aussi