# 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 - [ ] Configurer les secrets Gitea Actions pour le déploiement automatique - [ ] Tester le déploiement automatique via Git push ## 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é - [x] CI/CD pour déploiement automatique (Gitea Actions) - [ ] Ajouter validation de config dans le workflow CI/CD ## 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 : ```yaml - "*/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