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​