7.0 KiB
title: Repliqate created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, backups, docker, volumes, go, mit] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Backups, https://github.com/lminlone/repliqate]
💾 Repliqate
Un backup Docker-native et modulaire : Repliqate surveille vos conteneurs et sauvegarde automatiquement volumes et bases de données vers n'importe quel backend compatible.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | (GitHub) |
| GitHub | lminlone/repliqate |
| License | MIT |
| Langage | Go |
| Étoiles GitHub | 248 ⭐ |
| Dernière MAJ | 2026-06-07 |
| Catégorie | [[cat-backups |
📝 Description
Repliqate est un orchestrateur de backups spécialisé Docker. Le parti pris : « un binaire léger qui sait parler à Docker, sauvegarder les volumes, dumper les bases de données, et pousser le tout vers un backend configurable ». Pas d'UI web à rallonge, pas de base de données centrale : juste un fichier de config et un cron.
L'idée derrière le nom (« replicate » → « repliqate ») est de pouvoir répliquer l'état d'un environnement Docker vers un autre (migrations, DR, staging) :
- ✅ Auto-découverte : scanne les conteneurs Docker actifs et leurs volumes
- ✅ Backups de volumes Docker via
docker volumesnapshot - ✅ Dump automatique des bases Postgres / MySQL / MariaDB (avant le tar du volume)
- ✅ Pré-scripts et post-scripts par conteneur (
pre-backup,post-backuphooks) - ✅ Backends multiples : local, S3 / S3-compatible (B2, MinIO), SFTP, WebDAV
- ✅ Chiffrement optionnel côté client (AES-256) avant upload
- ✅ Compression zstd configurable
- ✅ Rétention configurable par job (nombre de snapshots à garder)
- ✅ Notifications : webhook Discord / Slack / Telegram / Ntfy
- ✅ CLI + mode
daemon(avec scheduler intégré) - ✅ Léger : binaire Go statique, ~15 Mo, conteneur ~25 Mo
Public cible : utilisateurs de stacks Docker (Docker Compose, Portainer, Swarm léger) qui veulent un backup « set-and-forget » de tous leurs conteneurs + volumes + BDD, sans avoir à scripter un cron + docker exec par service.
🚀 Installation
Docker Compose (mode daemon)
# docker-compose.yml
version: '3.8'
services:
repliqate:
image: ghcr.io/lminlone/repliqate:latest
container_name: repliqate
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro # Accès à l'API Docker
- repliqate-config:/etc/repliqate
- repliqate-cache:/var/cache/repliqate
environment:
- TZ=Europe/Paris
- REPLIQATE_CONFIG=/etc/repliqate/config.yaml
labels:
- "traefik.enable=false" # Pas d'UI : notifications webhook only
volumes:
repliqate-config:
repliqate-cache:
⚠️ Le montage du socket Docker donne à Repliqate un accès complet à votre hôte. C'est nécessaire pour découvrir les volumes, mais cela permet aussi à un bug applicatif d'impacter d'autres conteneurs. À n'accorder qu'à un outil de confiance (code auditable, version épinglée).
⚙️ Configuration Initiale
-
Créer un fichier
config.yamllistant vos jobs (exemple minimal) :jobs: - name: nextcloud-data type: docker-volume volume: nextcloud_data target: s3://myb2bucket/nextcloud schedule: "0 3 * * *" retention: 7 - name: postgres-main type: database container: postgres database: appdb target: s3://myb2bucket/postgres schedule: "0 4 * * *" retention: 14 -
Démarrer :
docker compose up -d, puisdocker logs -f repliqatepour voir le premier run. -
Vérifier la découverte : un dump du premier conteneur doit apparaître dans le bucket configuré en moins d'une minute.
-
Tester une restauration : sur un conteneur de test, restaurer un volume et vérifier que l'application démarre proprement.
-
Programmer un test de DR mensuel (cf. strategie-backup-321).
-
Alertes : configurer le webhook de notification pour être prévenu en cas d'échec.
🔄 Alternatives
Open Source
- app-restic + script bash — DIY, très flexible, pas d'orchestration native.
- app-borg + app-borg-ui — Borg orchestré par Borg UI.
- app-kopia — Kopia sait introspecter les volumes Docker mais ne fait pas l'auto-découverte.
- Docker Volume Backup (offen/docker-volume-backup) — le plus proche en philosophie, plus minimaliste.
- Tugtainer — orchestrateur de backups Docker, autre alternative.
- AutoBackup de Portainer — si vous utilisez Portainer, basique mais intégré.
Comparaison Repliqate vs autres
| Critère | Repliqate | Docker Volume Backup | Tugtainer | Restic + script |
|---|---|---|---|---|
| Auto-découverte | ✅ | ❌ | ✅ | ❌ |
| Dump BDD auto | ✅ (Postgres/MySQL) | ❌ (pre-hook) | ❌ | Via script |
| UI | ❌ | ❌ | ✅ | ❌ |
| Backends | Multi | Multi | Multi | Multi (restic) |
| Hooks pre/post | ✅ | ✅ | ✅ | Scriptable |
| Notifications | ✅ | ❌ | ✅ | À scripter |
| Léger | ✅ | Très léger | Moyen | Léger |
Verdict : Repliqate est un bon compromis pour qui veut orchestrer des backups Docker sans réécrire un script par conteneur. Pour un cas mono-volume très simple, app-restic ou Docker Volume Backup suffisent.
Propriétaires
- Portainer Business — backup management intégré (version payante).
- CloudCasa (Kubernetes) — hors scope mono-hôte.
- Veeam Agent for Linux — propriétaire, plus orienté VM.
🔐 Sécurité
- Règle 3-2-1 : Repliqate pousse nativement vers S3/SFTP — votre destination cloud est la 2e copie hors site. Pour la 3e copie, prévoyez un second backend (S3 d'un autre provider, par ex.). Voir strategie-backup-321.
- Chiffrement : activez l'option de chiffrement AES-256 côté client dans
config.yamlsi votre backend n'est pas déjà chiffré (Backblaze B2 chiffre au repos, mais un chiffrement E2E vous protège d'un admin B2 compromis). - Socket Docker : le montage de
/var/run/docker.sockest un privilège élevé — combinez avec un compte Docker dédié + un réseau isolé. Voir securisation-home-lab. - Test de restauration : automatisez un
docker run --rm -v restored:/data alpine lstous les mois pour valider qu'un snapshot est bien déchiffrable et exploitable.
📚 Ressources
Pages Liées
- cat-backups — Catégorie Backups
- strategie-backup-321 — Règle 3-2-1
- app-restic — Backup générique
- app-borg — Alternative à Restic
- app-kopia — Backup avec UI
- app-portainer — Gestion conteneurs
- securisation-home-lab — Bonnes pratiques