Files
agence66-borgmatic/TODO.md
BeauTroll fa78f80d73 Export environment variables in scripts to fix passphrase prompts
- Add 'set -a' and 'set +a' around 'source .env' in healthcheck.sh and restore.sh
- Ensures environment variables are exported to child processes (borg, borgmatic)
- Fixes issue where scripts would prompt for BORG_PASSPHRASE despite .env being loaded
- Update TODO.md: mark completed items, improve formatting

Scripts updated:
- scripts/healthcheck.sh: Export vars before calling borgmatic commands
- scripts/restore.sh: Export vars before calling borg commands

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-16 08:15:17 +01:00

3.1 KiB

TODO - Améliorations futures

Priorité haute

  • Tester le premier backup complet
  • Vérifier que les notifications ntfy fonctionnent
  • Documenter la passphrase et sauvegarder la clé Borg

Priorité moyenne

  • Mettre en place un monitoring externe (healthchecks.io ou similaire)
  • Ajouter des hooks PostgreSQL/MySQL si nécessaire
  • Configurer des alertes en cas d'échec de backup
  • Tester une restauration complète sur un système de test

Améliorations possibles

Monitoring et alertes

  • Intégration avec healthchecks.io pour monitoring externe
  • Dashboard Grafana pour visualiser l'historique des backups
  • Alertes par email en plus de ntfy
  • Métriques Prometheus pour le monitoring

Sécurité

  • Rotation automatique des clés de chiffrement
  • Audit des permissions des fichiers de configuration
  • Backup de la clé Borg dans un gestionnaire de secrets (Vaultwarden)
  • Authentification SSH avec clés dédiées

Performance

  • Optimiser les patterns d'exclusion
  • Ajouter des exclusions pour les caches Docker
  • Tester différents algorithmes de compression
  • Parallélisation des backups si plusieurs destinations

Backups de bases de données

  • Hook pre-backup pour PostgreSQL (si Gitea/autres utilisent PG)
  • Hook pre-backup pour MySQL/MariaDB (si utilisé)
  • Hook pre-backup pour dump des conteneurs Docker
  • Backup des volumes Docker critiques

Restauration

  • Documenter la procédure de disaster recovery complète
  • Script de restauration automatisée sur nouveau serveur
  • Tester régulièrement la restauration (tous les 3 mois)
  • Documenter la restauration sélective par service

Documentation

  • Utiliser les commandes make dans la documentation
  • Runbook pour les situations d'urgence
  • Documentation de l'architecture de backup
  • Guide de migration vers nouveau serveur

Testing

  • Tests automatisés de la configuration
  • Simulation d'échec et vérification des alertes
  • Test de restauration automatisé
  • CI/CD pour valider les modifications de config

Notes

Services à considérer pour backup séparé

Certains services pourraient nécessiter des stratégies de backup spécifiques :

  • Nextcloud : dump de la base de données avant backup
  • Mailcow : backup des emails et configuration
  • Gitea : dump de la base de données Git
  • Vaultwarden : backup critique à vérifier régulièrement

Optimisations d'exclusion

Ajouter ces exclusions si nécessaire :

- "*/venv/*"
- "*/env/*"
- "*/.git/objects/*" # Si backup de repos Git
- "*/docker/overlay2/*"
- "*/docker/volumes/*" # Déjà géré par les apps

Backup offsite

Considérer :

  • BorgBase (service cloud spécialisé Borg)
  • Serveur distant dédié
  • Stockage cloud chiffré (S3, Backblaze B2)
  • Rclone pour copier vers le cloud après backup Borg

Rotation et rétention

Configuration actuelle :

  • 7 daily (1 semaine)
  • 4 weekly (1 mois)
  • 6 monthly (6 mois)

Considérer :

  • Ajouter keep_yearly: 2 pour archives annuelles
  • Ajuster selon l'espace disque disponible