Quand on parle de sauvegarde, on pense souvent au cloud : S3, Backblaze, ou Google Cloud Storage.
Mais est-ce toujours pertinent ? Pas forcément.
Si ton objectif est de sécuriser les sauvegardes d’un site web ou d’une application sans dépendre d’un géant du cloud, la combinaison Restic + MinIO est une solution élégante, performante et économique.
Pourquoi Restic ?
Restic est un outil libre de sauvegarde (Go) pensé pour :
-
🔐 Chiffrer les données avant leur envoi (AES-256 + Poly1305)
-
♻️ Sauvegarder de manière incrémentielle : seuls les fichiers modifiés sont renvoyés
-
🧩 Garder un historique versionné (snapshot par date)
-
🗑️ Nettoyer automatiquement les anciens snapshots
-
🌐 Fonctionner sur quasiment tout type de stockage : SFTP, S3, MinIO, Backblaze, etc.
Et surtout :
➡️ Restic peut être installé même sur un hébergement mutualisé !
Aucune dépendance système lourde, juste un binaire et quelques variables d’environnement.
Pourquoi MinIO ?
MinIO est un service compatible S3 que l’on peut héberger soi-même sur un VPS.
C’est l’idéal pour :
-
Garder la compatibilité S3 (API, outils, etc.)
-
Maîtriser les coûts (prix fixe du VPS chaque mois)
-
Créer plusieurs buckets protégés (ex. un par site ou par client)
-
Appliquer des politiques de gouvernance ou de compliance
💡 Exemple :
-
Compliance : empêche toute suppression → bien pour garantir l’intégrité
-
Gouvernance : permet à certains utilisateurs (ex. admin) d’écraser/supprimer si nécessaire
⚠️ Attention : le bucket contenant les logs Restic ne doit pas être en compliance stricte, sinon Restic échouera à supprimer ses anciens fichiers.
⚠️ À propos du mode compliance
MinIO permet d’activer des politiques de rétention WORM (Write Once Read Many), c’est-à-dire de bloquer toute suppression ou modification avant une date donnée.
Deux modes existent :
-
🧱 Compliance : aucune suppression possible, même par un administrateur
-
🧰 Gouvernance : suppression possible par un utilisateur autorisé (avec
s3:BypassGovernanceRetention)
Restic doit pouvoir :
-
écrire de nouveaux fichiers,
-
et supprimer d’anciens fichiers (notamment dans les répertoires
locks/).
💡 Par conséquent :
-
Un bucket en mode compliance strict empêchera Restic de fonctionner.
-
Un bucket en mode gouvernance fonctionne parfaitement.
-
Si vous souhaitez combiner Restic et des données immuables, vous pouvez :
-
créer un bucket distinct pour les logs Restic (en gouvernance),
-
et appliquer le mode compliance uniquement sur les sous-répertoires contenant les snapshots de données (en excluant
logs/).
-
Cela permet d’obtenir un compromis entre sécurité maximale et compatibilité opérationnelle.
Commandes essentielles
1️⃣ Initialiser un repo :
2️⃣ Sauvegarder ton site :
3️⃣ Lister les snapshots :
4️⃣ Restaurer sur préprod :
5️⃣ Supprimer les vieilles sauvegardes :
Et le cloud dans tout ça ?
Le cloud (AWS, GCP, Azure…) reste puissant et scalable.
Mais il n’est pas toujours rentable ni nécessaire pour des sauvegardes de sites dont la croissance est prévisible.
Et mal configuré, il peut coûter très cher (sortie de bande passante, erreurs de policy, etc.).
Avec MinIO sur VPS :
-
Tu gardes un coût fixe 💶
-
Tu maîtrises la sécurité 🔒
-
Tu gardes la compatibilité S3 🔁
Bref, c’est le meilleur des deux mondes.
Bonnes pratiques
-
🔑 Sauvegarde tes mots de passe Restic et MinIO dans un gestionnaire sécurisé (1Password, Bitwarden…)
-
✅ Teste régulièrement une restauration
-
🧹 Planifie un
forget --prunepour éviter l’explosion du stockage -
📄 Garde un bucket séparé pour les logs
-
🧰 Si possible, réplique ton MinIO sur un autre serveur pour la redondance
Conclusion
Restic + MinIO, c’est une approche :
-
Souveraine
-
Sécurisée
-
Économique
-
Et simple à maintenir
Si tu veux mettre en place cette architecture ou migrer depuis un système de sauvegarde classique, n’hésite pas à me contacter.
Je peux te guider pour la mise en place (Docker, VPS, mutualisé, etc.).