Initial vault setup
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
---
|
||||
title: Duplicacy
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, backups, deduplication, cloud, go, proprietaire]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources: [https://selfh.st/apps/?tag=Backups, https://github.com/gilbertchen/duplicacy]
|
||||
---
|
||||
|
||||
# 💾 Duplicacy
|
||||
|
||||
> **Le backup nouvelle génération multi-cloud** : déduplication par chunk variable, verrouillage distribué, CLI gratuite et performante. À mi-chemin entre restic et un outil commercial propriétaire.
|
||||
|
||||
> ⚠️ **Avertissement** : Duplicacy est un outil **propriétaire** (licence custom). La CLI est gratuite et complète, mais la GUI est **payante** (licence personnelle ou commerciale). L'auto-hébergement de l'édition Community est limité en fonctionnalités.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Champ | Valeur |
|
||||
| :--- | :--- |
|
||||
| **Site web** | [duplicacy.com](https://duplicacy.com) |
|
||||
| **GitHub** | [gilbertchen/duplicacy](https://github.com/gilbertchen/duplicacy) |
|
||||
| **License** | Custom (propriétaire — CLI gratuite, GUI payante) |
|
||||
| **Langage** | Go |
|
||||
| **Étoiles GitHub** | 5 653 ⭐ |
|
||||
| **Dernière MAJ** | 2026-06-06 |
|
||||
| **Catégorie** | [[cat-backups|Backups]] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
**Duplicacy** est un outil de **sauvegarde incrémentale multi-cloud** écrit en Go, conçu pour offrir une alternative moderne à [[app-restic]], [[app-borg]] et [[app-kopia]]. Son algorithme de **déduplication par chunks de taille variable** couplé à un **verrouillage distribué** lui permet de gérer des sauvegardes parallèles depuis plusieurs machines vers un même dépôt, sans corruption — un point faible de Borg qui a besoin d'un client unique par dépôt.
|
||||
|
||||
L'outil brille par sa **portabilité** : un seul binaire, identique sur Linux, macOS, Windows, FreeBSD. Le format de chunk étant indépendant de la machine, on peut migrer ses sauvegardes d'un hôte à l'autre, ou depuis un poste vers un serveur, sans recompression. La CLI est gratuite et sans limitation de fonctionnalités, ce qui en fait un excellent choix pour les utilisateurs à l'aise avec la ligne de commande.
|
||||
|
||||
L'écosystème de stockage est très large : **S3, Backblaze B2, Wasabi, Google Cloud Storage, Azure Blob, Hubic, SFTP, disque local, et même FTP**. Le client peut aussi bien s'exécuter sur un serveur que sur un NAS Synology, un routeur, ou un simple Raspberry Pi. Pour les utilisateurs qui veulent une interface graphique clé en main, la **GUI Duplicacy** (payante) ajoute planification, monitoring et restore visuel.
|
||||
|
||||
- ✅ **Déduplication par chunk variable** : excellent ratio de compression
|
||||
- ✅ **Verrouillage distribué** : plusieurs clients sur le même repo (vs Borg)
|
||||
- ✅ **Multi-cloud** : S3, B2, Wasabi, GCS, Azure, SFTP, local
|
||||
- ✅ **Cross-platform** : Linux, macOS, Windows, FreeBSD (binaire unique)
|
||||
- ✅ **Chiffrement AES-256** côté client
|
||||
- ✅ **CLI gratuite et complète**
|
||||
- ✅ **Sauvegardes incrémentales** rapides
|
||||
- ✅ **Pruning flexible** : rétention par jours / semaines / mois / années
|
||||
- ⚠️ **Pas open source** : la GUI est payante (~50 $)
|
||||
- ⚠️ **Moins de communautés** que restic/Borg
|
||||
- ⚠️ **Pas de GUI FOSS** officielle (seulement tierces)
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Option 1 : Docker Compose (avec reverse proxy Traefik)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: '3.8'
|
||||
services:
|
||||
duplicacy-cli:
|
||||
image: golang:1.22-alpine
|
||||
container_name: duplicacy
|
||||
restart: unless-stopped
|
||||
command: sh -c "apk add --no-cache git && git clone https://github.com/gilbertchen/duplicacy.git /app && cd /app && go build -o /usr/local/bin/duplicacy && sleep infinity"
|
||||
volumes:
|
||||
- duplicacy-data:/data
|
||||
- duplicacy-config:/root/.duplicacy
|
||||
labels:
|
||||
- "traefik.enable=false" # Pas d'UI web dans l'édition CLI
|
||||
|
||||
volumes:
|
||||
duplicacy-data:
|
||||
duplicacy-config:
|
||||
```
|
||||
|
||||
> 💡 **Note pratique** : la version CLI s'installe plus simplement en binaire natif sur l'hôte. Le conteneur Docker ci-dessus est utile pour une utilisation planifiée via cron dans un orchestrateur.
|
||||
|
||||
### Option 2 : Binaire natif (recommandé pour la CLI)
|
||||
|
||||
```bash
|
||||
# Linux
|
||||
wget https://github.com/gilbertchen/duplicacy/releases/latest/download/duplicacy_linux_x64_3.2.0
|
||||
chmod +x duplicacy_linux_x64_3.2.0
|
||||
sudo mv duplicacy_linux_x64_3.2.0 /usr/local/bin/duplicacy
|
||||
|
||||
# Vérifier
|
||||
duplicacy -version
|
||||
```
|
||||
|
||||
### Option 3 : Homebrew (macOS)
|
||||
|
||||
```bash
|
||||
brew install duplicacy
|
||||
```
|
||||
|
||||
## ⚙️ Configuration Initiale
|
||||
|
||||
1. **Initialiser un dépôt** dans le dossier à sauvegarder :
|
||||
```bash
|
||||
duplicacy init -e -repository-name default backup-id sftp://user@nas/backups/mon-serveur
|
||||
```
|
||||
2. **Lancer une première sauvegarde** complète :
|
||||
```bash
|
||||
duplicacy backup -stats
|
||||
```
|
||||
3. **Restaurer** un fichier précis (exemple) :
|
||||
```bash
|
||||
duplicacy restore -r 1 -overwrite /chemin/vers/restauration
|
||||
```
|
||||
4. **Configurer la rétention** (prune automatique) :
|
||||
```bash
|
||||
duplicacy prune -keep 0:360 7:30 30:12
|
||||
# 0 snapshots journaliers gardés 360 jours, 7 hebdo 30 semaines, 30 mensuels 12 mois
|
||||
```
|
||||
5. **Ajouter un second client** sur le même dépôt (force le verrouillage distribué) :
|
||||
```bash
|
||||
duplicacy init -e -repository-name laptop sftp://user@nas/backups/mon-serveur
|
||||
```
|
||||
6. **Automatiser via cron** :
|
||||
```cron
|
||||
0 3 * * * cd /home/user/data && /usr/local/bin/duplicacy backup -stats
|
||||
```
|
||||
|
||||
## 🔄 Alternatives
|
||||
|
||||
### Open Source
|
||||
- [[app-restic]] — Le plus populaire, Go, FOSS, écosystème mature
|
||||
- [[app-borg]] — Compression forte, FOSS, dédié aux repos locaux/SFTP
|
||||
- [[app-kopia]] — UI intégrée, snapshots instantanés, FOSS
|
||||
- [[app-borg-ui]] — UI web pour [[app-borg]]
|
||||
- **Rclone** — Sync pur (pas de versioning, complémentaire)
|
||||
|
||||
### Propriétaires
|
||||
- **Duplicacy GUI** (éditeur officiel) — ~50 $ licence personnelle, illimitée
|
||||
- **Backblaze B2 Cloud Backup** — Backup « unlimited » poste client
|
||||
- **Arq Backup** — macOS, GUI élégante
|
||||
- **Carbonite** — Grand public, USA
|
||||
- **Acronis True Image** — Backup poste + image système
|
||||
|
||||
### Comparaison Duplicacy vs alternatives
|
||||
|
||||
| Critère | Duplicacy | [[app-restic]] | [[app-borg]] | [[app-kopia]] |
|
||||
| :--- | :--- | :--- | :--- | :--- |
|
||||
| License | Custom (proprio) | BSD-2 | BSD-3 | Apache-2.0 |
|
||||
| Déduplication | Chunk variable | Chunk fixe 1-2 Mo | Chunk variable | Chunk variable |
|
||||
| Verrou distribué | ✅ Natif | ✅ Natif | ❌ Mono-client | ✅ Natif |
|
||||
| Multi-cloud | ✅ Très large | ✅ Très large | ⚠️ SFTP/local surtout | ✅ Très large |
|
||||
| GUI officielle | 💲 Payante | ❌ (tierces) | ❌ (tierces) | ✅ FOSS |
|
||||
| Compression | Bonne | Moyenne | Excellente (zstd,lz4) | Bonne |
|
||||
| UI web | Via [[app-borg-ui]] tierce | Restic Web tierce | [[app-borg-ui]] | ✅ Native |
|
||||
| Maturité | Mature | Très mature | Très mature | Mature |
|
||||
|
||||
**Verdict** : Duplicacy est un excellent choix si on accepte la licence propriétaire (CLI gratuite) et qu'on veut un **verrou distribué natif** et un **large support cloud**. Pour 100 % FOSS, [[app-restic]] et [[app-kopia]] sont des alternatives solides.
|
||||
|
||||
## 🔐 Sécurité
|
||||
|
||||
- **Règle 3-2-1** : Duplicacy supporte nativement des backends multiples — exploitez-le pour une copie locale + une copie cloud (S3/B2).
|
||||
- **Chiffrement AES-256** côté client : la clé ne quitte jamais la machine qui sauvegarde. **Perte de mot de passe = données irrécupérables** : stockez la clé dans un [[securisation-home-lab|coffre-fort]].
|
||||
- **Test de restauration** : exécutez `duplicacy restore` sur une VM jetable au moins 1×/trimestre.
|
||||
- **Clé hors-ligne** : exportez la config chiffrée sur une **clé USB conservée en lieu sûr** :
|
||||
```bash
|
||||
duplicacy cat -key > /mnt/usb/duplicacy-key.bak
|
||||
```
|
||||
- **Pas de chiffrement côté serveur** : comptez uniquement sur le chiffrement client (c'est d'ailleurs un point fort pour la confidentialité vis-à-vis du fournisseur cloud).
|
||||
- **Rotation des clés d'accès cloud** : IAM distinct par backend, rotation annuelle.
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- [Site officiel Duplicacy](https://duplicacy.com)
|
||||
- [GitHub gilbertchen/duplicacy](https://github.com/gilbertchen/duplicacy)
|
||||
- [Guide utilisateur officiel](https://duplicacy.com/guide/)
|
||||
- [Wiki / FAQ](https://github.com/gilbertchen/duplicacy/wiki)
|
||||
- [Comparatif vs restic (blog)](https://blog.duplicacy.com/)
|
||||
|
||||
## Pages Liées
|
||||
- [[cat-backups]] — Catégorie Backups
|
||||
- [[strategie-backup-321]] — Méthode 3-2-1
|
||||
- [[app-restic]] — Alternative FOSS majeure
|
||||
- [[app-borg]] — Compression imbattable
|
||||
- [[app-kopia]] — Concurrent FOSS avec UI
|
||||
- [[securisation-home-lab]] — Bonnes pratiques sécurité
|
||||
Reference in New Issue
Block a user