Salut la jeunesse ! J’espère que ça roule pour vous. Dites, vous suivez Korben, j’espère ? Le blogueur tech bien connu depuis plus de 20 ans (et si ce n’est pas le cas, honte à vous ^^). Korben a récemment publié un article sur une nouvelle pépite open source dénichée sur GitHub : ZeroByte, un outil de sauvegarde basé sur Restic. On en parle ensemble ?

ZeroByte, c’est une solution de backup avec une interface plutôt sexy (bon, les goûts et les couleurs, hein, moi je la trouve sympa ^^). Elle repose sur le moteur Restic, largement utilisé, notamment dans les environnements Kubernetes. Encore un outil de backup me direz-vous. Oui, mais ZeroByte dispose de pas mal d’atout qu’on ne peut ignorer, en dehors de son interface. D’abord, elle se veut particulièrement agnostique et fonctionnellement riche :

  • En matière de méthodes de connexion aux volumes sources (NFS, CIFS/SMB, SFTP/SSH, etc.).
  • En matière d’hébergement des données : S3, Microsoft Azure, Google Cloud, Cloudflare, et même rClone (et là, si vous connaissez, c’est compatible avec à peu près tout ce que vous pouvez imaginer ^^)
  • De la réduction de données intégrée (cf Restic)
  • Un système de sauvegarde différentielle qui intègre des snapshots, pour limiter les volumes échangés entre source et stockage cible

Côté déploiement, ça se base sur Docker/Docker Compose, avec quelques subtilités à noter : ZeroByte utilise FuseFS (le système de montage de volumes en mode user et non en mode kernel), ce qui impose des droits spécifiques comme CAP_ADMIN, ainsi qu’un profil AppArmor dédié. À vous de voir si c’est compatible avec vos usages (et vos politiques de sécurité).

De même, soyez vigilant concernant la liste des URL avec lesquelles vous voudrez à terme accéder à l’interface. ZeroByte est particulièrement sévère avec cette variable. Je vous ai laissé une liste de tous les moyens que j’ai utilisé personnellement dans mon vLab pour exemple, il y a du monde 🙂 !

Globalement, l’installation est aussi simple que n’importe quel docker-compose.yml : rapide à mettre en route :

Vous pouvez notamment :

  • Créer des repositories (vos destinations de sauvegarde).
  • Définir des volumes (les sources à sauvegarder, avec leurs méthodes de connexion et leurs identifiants).
  • Orchestrer le tout via la section Backup.
  • Ajouter des notifications (pour réagir aux événements : lancement, succès, alertes ou échecs).

Au final, je trouve que ZeroByte est un projet bien né et qui, même s’il n’en est qu’à ses débuts (version 0.25.1 au moment où j’écris ces lignes), fournit déjà les fondamentaux en matière de backup et de restauration. Les fonctionnalités actuelles sont globalement opérationnelles ! L’outil est léger et d’ores et déjà parfaitement utilisable dans un environnement home lab ou pour des power users.

Enfin, le fait que l’outil s’appuie sur Restic, qui, je le rappelle, est largement utilisé dans des environnements Kubernetes (comme Red Hat OpenShift, qui dispose d’un opérateur dédié, directement déployable et maintenu) est, à mes yeux, un gage de sécurité pour le stockage et l’exploitabilité de ZeroByte en production. À terme, cela pourrait s’avérer particulièrement pertinent pour des cas d’usage comme l’Edge Compute ou des workloads disposant d’une capacité de calcul contrainte.

Références :

Korben et son article bien sûr ! https://korben.info/zerobyte-backup-automatise-restic-self-hosted.html
Le projet ZeroByte sur Github : https://github.com/nicotsx/zerobyte
Le système AppArmor de Docker : https://docs.docker.com/engine/security/apparmor/
Le site, en construction, mais le domaine existe déjà : https://zerobyte.app/
Restic : https://github.com/restic/restic

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *