Files
2026-06-09 18:40:21 +02:00

12 KiB


title: Duplicati created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, backups, deduplication, encryption, cloud, s3, b2, sftp, webdav, duplicati, snapshot, incremental, versionning, docker, csharp, lgpl] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Backups, https://github.com/duplicati/duplicati]

💾 Duplicati

Le backup « grand public » self-hosted : une interface web simple, un wizard de configuration, plus de 20 backends supportés, et un chiffrement AES-256 natif. Idéal pour un utilisateur qui veut juste que ça marche.

📋 Informations Générales

Champ Valeur
Site web duplicati.com
GitHub duplicati/duplicati
License LGPL-2.1
Langage C# (Mono / .NET)
Étoiles GitHub 14,6k
Dernière MAJ 2026-06-05
Catégorie [[cat-backups

📝 Description

Duplicati est un client de sauvegarde multi-plateforme (Windows, Linux, macOS) avec une interface web intégrée. Sa philosophie est radicalement opposée à celle de app-restic : là où restic est un outil CLI pur pensé pour des sysadmins, Duplicati vise explicitement l'utilisateur domestique ou la PME qui veut programmer des sauvegardes chiffrées vers le cloud sans toucher au terminal.

Le moteur de Duplicati implémente la déduplication par bloc (taille variable, par défaut 100 KB) couplée à un chiffrement AES-256 côté client. Chaque sauvegarde est découpée en volumes (dlist, dblock, dindex) qui sont envoyés au backend, ce qui permet d'avoir des incréments légers : après le premier full, un ajout de quelques fichiers ne transfère que les nouveaux blocs. Le format de fichier est spécifique à Duplicati (ce n'est pas un format ouvert comme restic ou Kopia), ce qui signifie qu'on ne peut restaurer qu'avec Duplicati lui-même.

Le point fort historique de Duplicati, c'est l'extraordinaire variété de backends supportés : S3, B2, Google Cloud Storage, Azure Blob, WebDAV, SFTP, SSH, FTP, OpenStack Object Storage / Swift, Rackspace Cloudfiles, OneDrive, Google Drive, Dropbox, Hubic, Box.com, Amazon Cloud Drive, S3-compatible (Wasabi, MinIO, Scaleway, OVH…), et même file:// pour un disque local. C'est l'un des rares outils où l'on peut changer de provider cloud sans réécrire sa config.

L'UI web, servie par défaut sur le port 8200, propose un wizard de configuration en 5 étapes : on donne un nom, on choisit le backend, on saisit les credentials, on sélectionne les fichiers source, on fixe la planification, et c'est parti. C'est exactement la cible que vise Duplicati : « backup en 5 minutes pour quelqu'un qui ne connaît rien à Linux ».

Le revers de la médaille : Duplicati est écrit en C# et tourne sur Mono (anciennement) puis sur .NET (depuis la v2). Il a souffert pendant plusieurs années d'un ralentissement de la cadence de release et d'une équipe principale en sous-effectif. La v2 stable a longtemps tardé, et l'écosystème est moins dynamique que celui de app-restic ou app-kopia. Le projet reste fonctionnel et maintenu, mais il est raisonnable de le considérer comme en perte de vitesse par rapport à des alternatives plus modernes.

Comparé à ses principaux rivaux :

  • vs app-restic : restic est un outil CLI plus minimaliste, avec un format ouvert, plus rapide, plus léger (un seul binaire Go). Duplicati gagne sur l'UI web prête à l'emploi et la variété de backends.
  • vs app-kopia : Kopia est plus jeune, propose une UI desktop (pas web), un format de repo plus moderne, et une cadence de release plus soutenue. C'est aujourd'hui le principal challenger dans la même catégorie.
  • vs app-duplicacy : Duplicacy mise sur une déduplication globale multi-utilisateur (lock-free) qui permet de mutualiser un backend entre plusieurs clients ; Duplicati est mono-tenant.

Public cible : débutant à intermédiaire. Parfait pour un homelab qui veut une UI web sans se battre avec un cron et un binaire CLI.

🚀 Installation

Option 1 : Docker Compose (recommandé)

# docker-compose.yml
version: '3.8'
services:
  duplicati:
    image: lscr.io/linuxserver/duplicati:latest
    container_name: duplicati
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Paris
      - CLI_ARGS=
    volumes:
      - duplicati-config:/config
      - /mnt/data:/source/data:ro
      - /mnt/backups-local:/backups
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.duplicati.rule=Host(`duplicati.example.com`)"
      - "traefik.http.routers.duplicati.entrypoints=websecure"
      - "traefik.http.routers.duplicati.tls.certresolver=letsencrypt"

volumes:
  duplicati-config:

Note

: l'image linuxserver/duplicati est recommandée car elle inclut Mono et toutes les dépendances système correctement configurées, là où l'image officielle duplicati/duplicati reste plus austère.

Option 2 : Natif (Windows / Linux / macOS)

# Linux : .deb / .rpm disponibles sur duplicati.com
wget https://updates.duplicati.com/beta/duplicati_2.0.8.1-1_all.deb
sudo dpkg -i duplicati_2.0.8.1-1_all.deb

# Ou en mode headless
mono Duplicati.CommandLine.exe backup "sftp://user@host//path?auth-username=user&auth-password=pass" \
  /source/path --encryption-password="change-me"

# macOS / Windows : installer graphique depuis le site officiel

⚙️ Configuration Initiale

  1. Accéder à l'UI web sur https://duplicati.example.com (ou http://IP:8200).
  2. Configurer un premier backup via le wizard :
    • General : nom du backup, encryption passphrase (AES-256).
    • Destination : choix du backend (S3, B2, SFTP, local…) + credentials.
    • Source data : sélection du dossier à sauvegarder (avec ou sans filtres d'exclusion).
    • Schedule : planification (manuel, daily, weekly, custom cron).
  3. Choisir la politique de rétention : combien de versions garder, supprimer automatiquement les sauvegardes de plus de X jours/semaines/mois.
  4. Tester un premier run : bouton Run now et inspecter les logs (Show log → Verbose). Vérifier la taille transférée (au moins aussi grosse qu'attendu pour le premier, puis faible pour les incréments).
  5. Activer les notifications : onglet Settings → Notifications → e-mail, Sentry, ou webhook générique.
  6. Tester une restauration : onglet Restore, choisir une sauvegarde, sélectionner un sous-ensemble, et restaurer dans un dossier temporaire. Indispensable : un backup non testé n'est pas un backup.

🔄 Alternatives

Open Source

  • app-restic — Standard CLI, format ouvert, plus rapide, plus moderne.
  • app-kopia — UI desktop + CLI, snapshot policies riches, format propriétaire moderne.
  • app-backrest — UI web au-dessus de restic, l'alternative moderne à Duplicati pour qui aime les UIs.
  • app-borg — Pour les backups locaux rapides, format fermé mais éprouvé.
  • Bacula — La référence entreprise, mais complexité bien supérieure (catalogue, directeur, storage daemon…).

Comparaison des outils à UI web / desktop

Critère Duplicati app-kopia app-backrest app-duplicacy
Interface Web Desktop (Win/macOS/Linux) Web CLI + GUI (payant)
Multi-plateforme
UI web self-hosted (desktop)
Licence LGPL-2.1 Apache-2.0 MIT Custom (propriétaire)
Cadence de release Lente (en perte de vitesse) Active Active Commercial
Backends 20+ 8+ Repos restic natifs 10+
Format de repo Spécifique Duplicati Kopia (propriétaire) = restic (ouvert) Duplicacy (propriétaire)

Verdict : Duplicati reste un excellent choix si on veut une UI web prête à l'emploi et qu'on ne veut pas apprendre la CLI. Pour un homelab neuf en 2026, on lui préférera souvent app-kopia (plus moderne, UI desktop) ou app-backrest (UI web au-dessus de restic, plus rapide).

Propriétaires (ce que Duplicati remplace)

  • CrashPlan for Small Business — Backup cloud illimité, ~10 $/mois/poste. E2E, mais fermé.
  • Backblaze Personal — 7 $/mois/poste, illimité, mais pas self-hosted.
  • Carbonite Safe — Backup cloud grand public, fermé.
  • iDrive — 60 $/an pour 5 To, multi-poste, mais chiffré côté serveur par défaut.
  • Acronis True Image — Référence, mais licence fermée et chère.

Backends de stockage

Service Coût (~$ / To / mois) Egress Idéal pour
Backblaze B2 6 $ 10 $ / To Homelab, illimité en egress raisonnable
Wasabi 7 $ 0 $ Lecture fréquente, EU
Scaleway Object Storage 7,5 $ 0,01 € / Go EU, souverain
OVH Object Storage 7,2 € trafic sortant EU
Hetzner Storage Box ~3,5 € / To / mois (forfait) 0 EU, SMB
MinIO (self-hosted) Coût serveur 0 $ 100% on-prem

🔐 Sécurité

  • Chiffrement AES-256 natif : activé par défaut dans le wizard, protège chaque bloc avant envoi. Le mot de passe de chiffrement doit être stocké séparément (gestionnaire de mots de passe, KeePassXC, vault papier).
  • Règle 3-2-1 : Duplicati ne fait pas la politique à votre place — c'est à l'utilisateur de prévoir 2 supports différents minimum (ex. : B2 + disque USB local) et 1 copie offsite (cloud ou autre site physique).
  • Test de restauration régulier : restaurer manuellement au moins un fichier arbitraire tous les 30 jours. Les backups non testés ne sont pas des backups. Penser aussi à tester la restauration sur une machine neuve (pas celle de production) pour valider que le moteur Duplicati + Mono + .NET est bien autoportant.
  • Rançongiciels : un Duplicati qui tourne en root sur le serveur de prod est une cible de choix pour chiffrer et les données et les backups. Idéalement :
    • Sur un serveur dédié aux backups, isolé du LAN principal (VLAN backups).
    • Avec les credentials S3 stockés dans un secret (Vault, Bitwarden) et non en clair dans l'UI.
    • Avec un air-gap : déconnecter le backend B2/S3 entre deux fenêtres de backup (ou utiliser un compte B2 avec MFA + IP allowlist).
  • Vérification d'intégrité : activer l'option no-backend-verification=true non, et activer backup-test-samples=5 pour que Duplicati télécharge et vérifie aléatoirement des blocs après chaque run.

📚 Ressources

Pages Liées