- 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>
3.1 KiB
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: 2pour archives annuelles - Ajuster selon l'espace disque disponible