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

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 volume snapshot
  • Dump automatique des bases Postgres / MySQL / MariaDB (avant le tar du volume)
  • Pré-scripts et post-scripts par conteneur (pre-backup, post-backup hooks)
  • 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

  1. Créer un fichier config.yaml listant 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
    
  2. Démarrer : docker compose up -d, puis docker logs -f repliqate pour voir le premier run.

  3. Vérifier la découverte : un dump du premier conteneur doit apparaître dans le bucket configuré en moins d'une minute.

  4. Tester une restauration : sur un conteneur de test, restaurer un volume et vérifier que l'application démarre proprement.

  5. Programmer un test de DR mensuel (cf. strategie-backup-321).

  6. 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.yaml si 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.sock est 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 ls tous les mois pour valider qu'un snapshot est bien déchiffrable et exploitable.

📚 Ressources

Pages Liées