Some checks failed
Deploy Borgmatic Configuration / Deploy to Production Server (push) Has been cancelled
Added workflow to automatically deploy configuration changes when pushing to main branch. Includes comprehensive documentation for setting up SSH keys, configuring secrets, and troubleshooting deployments. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
114 lines
3.3 KiB
Markdown
114 lines
3.3 KiB
Markdown
# 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
|