Duplicati, un logiciel de sauvegarde universel

Duplicati, un logiciel de sauvegarde universel

J'ai déjà évoqué le sujet des sauvegardes, et je pense que vous devez tous comprendre l'importance d'en réaliser régulièrement pour les données que vous jugez utiles. Aujourd'hui, je vais vous parler de Duplicati, un logiciel open-source, gratuit, permettant de réaliser des sauvegardes incrémentielles ou complètes, encryptées pour les garder en sécurité, en utilisant de nombreux protocoles tels que ftp, ssh, WebDAV ou encore des services cloud comme OneDrive, Google Drive, Amazon S3, BackBlaze et plein d'autres.

Duplicati
Free backup software to store backups online with strong encryption. Works with FTP, SSH, WebDAV, OneDrive, Amazon S3, Google Drive and many others.

Duplicati est disponible aussi bien pour des postes Windows, MacOS ou Linux, ainsi qu'en paquet pour les NAS Synology. Il peut se contrôler à l'aide d'une interface graphique web ou bien en lignes de commande.


Nous allons mettre en place Duplicati en tant que conteneur Docker, dans le but de sauvegarder les données des autres conteneurs. Voici le contenu du fichier docker-compose.yml que j'ai utilisé :

version: "3"
services:
  duplicati:
    image: lscr.io/linuxserver/duplicati
    container_name: duplicati
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      #- CLI_ARGS= #optional
    volumes:
      - /docker/duplicati/config:/config
      - /docker/duplicati/backups:/backups
      - /docker:/source
    ports:
      - 8200:8200
    restart: unless-stopped

Une petite explication à propos des répertoires utilisés :

  • config : répertoire contenant la configuration de Duplicati et les définitions des sauvegardes
  • backups : répertoire permettant de stocker les sauvegardes en local
  • source : chemin des fichiers sources à sauvegarder

Pour lancer la stack, la commande à utiliser est toujours la même : docker-compose up -d.

Rendez-vous ensuite depuis votre navigateur préféré sur http://<IP.DE.LHOTE.DOCKER>:8200.

L'interface peut être configurée dans la langue de votre choix, en vous rendant dans les paramètres. Je vous conseille également de protéger l'accès à Duplicati par un mot de passe.


Nous allons voir ensemble comment sauvegarder un répertoire, et comment le restaurer. En effet, sauvegarder ses données, c'est bien, mais il faut aussi vous assurer que le jour où vous en aurez besoin, la restauration fonctionnera.

La configuration d'une sauvegarde se fait en 5 étapes. Commencez par cliquer sur "Ajouter une sauvegarde" et choisissez de configurer une nouvelle sauvegarde.

  1. Donnez un nom à la tâche de sauvegarde, une description si vous le souhaitez, et renseignez une phrase secrète que vous garderez bien au chaud (dans votre gestionnaire de mots de passe Vaultwarden par exemple) avant de passer à l'étape suivante.
  2. Choisissez ici la destination de la sauvegarde. Nous allons choisir un répertoire local, mais vous pouvez sélectionner un serveur FTP, un espace Dropbox, Google Drive ou bien d'autres encore. Testez la connexion puis continuez pour vous rendre à la prochaine étape.
  3. L'étape 3 vous permet de choisir quelles sont les données que vous voulez sauvegarder. Naviguez jusqu'à trouver le répertoire souhaité et cochez la case qui se situe devant. Vous pouvez facilement ajouter des filtres pour ne sauvegarder que certains fichiers, ou au contraire en exclure. C'est pratique pour notamment exclure les fichiers de log, qui peuvent être volumineux et ne sont pas indispensables lors de la restauration.
  4. A cette étape se configure la planification de l'exécution de la sauvegarde, que vous pouvez désactiver pour lancer celle-ci manuellement, ou bien planifier de manière automatique et périodique selon un calendrier que vous définissez (toutes les X minutes / heures / jours / semaines / mois / années, avec la possibilité d'exclure certains jours).
  5. Cette dernière étape vous permet de définir la taille des fichiers composant les archives ainsi que la stratégie de rétention. Les choix possibles sont :
  • Conserver toutes les sauvegardes
  • Supprimer les sauvegardes plus anciennes que X heures/jours/semaines/mois/années
  • Conserver un nombre spécifique de sauvegardes
  • Rétention de sauvegarde intelligente : il restera une sauvegarde pour chacun des sept derniers jours, chacune des quatre dernières semaines et chacun des douze derniers mois. Il y aura toujours au moins une sauvegarde.
  • Rétention de sauvegarde personnalisée : là c'est à vous de définir combien de sauvegardes vous souhaitez garder pour les derniers jours / semaines / mois / années

Enregistrez la configuration de la sauvegarde, et une fois revenu sur la page d'accueil, vous pourrez l'exécuter manuellement. Une fois la sauvegarde complétée, vous verrez apparaître des statistiques sur la taille du répertoire source à sauvegarder ainsi que le nom de versions de la sauvegarde et la taille totale occupée par celle-ci. Selon le type de fichiers sauvegardés, vous observerez une compression plus ou moins importante.


Concernant la restauration d'une sauvegarde, en vous rendant dans le menu "Restaurer" vous aurez 2 choix possibles : restaurer directement depuis les fichiers sauvegardés dans le cas où il s'agit de la même machine sur laquelle la sauvegarde est faite ou depuis une configuration dans le cas où vous souhaitez restaurer des fichiers sur une autre machine.

Dans l'exemple, j'ai choisi de restaurer les fichiers depuis la sauvegarde "Sauvegarde Guacamole". On choisit dans la liste quelle version de sauvegarde et les fichiers qu'on souhaite restaurer, puis on clique sur "Continuer".

Enfin, on choisit la destination des fichiers restaurés, soit l'emplacement d'origine,  soit un emplacement de votre choix, avec la possibilité d'écraser les fichiers ou de garder chaque version, en ajoutant dans leurs noms l'horodatage. Il est également possible de restaurer les permissions des fichiers pendant l'opération.

Attention ! Dans le cas où vous choisissez de restaurer des fichiers depuis une configuration, vous aurez besoin de la clé de chiffrement indiquée lors de la mise en place de la tâche de sauvegarde correspondante.

Conclusion

Mettre en place des sauvegardes est indispensable pour vous permettre de retrouver vos données ou la configuration de vos services après un crash ou simplement pour migrer vers une autre machine. On s'aperçoit souvent de l'importance de réaliser des sauvegardes, et de tester si celles-ci sont fonctionnelles, quand il est trop tard, et je ne vous souhaite pas d'être dans cette situation. Prenez les devants, faites des sauvegardes et tester les !

Si vous avez des questions sur la configuration ou l'utilisation de Duplicati, vous pourrez trouver de l'aide dans la doc officielle, laisser un commentaire ou venir nous poser vos questions sur le groupe Telegram de la communauté.