--- title: Backrest created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, backups, deduplication, encryption, cloud, s3, b2, sftp, restic, orchestrateur, web-ui, prune, docker, go, mit] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Backups, https://github.com/garethgeorge/backrest] --- # đŸ’Ÿ Backrest > **L'UI web moderne qui transforme [[app-restic]] en produit utilisable** : orchestration multi-repos, planification visuelle, **prune policy** centralisĂ©e, et visualisation des restores. Le compagnon idĂ©al pour les sysadmins qui aiment restic mais qui ne supportent plus sa CLI. ## 📋 Informations GĂ©nĂ©rales | Champ | Valeur | | :--- | :--- | | **Site web** | (GitHub) | | **GitHub** | [garethgeorge/backrest](https://github.com/garethgeorge/backrest) | | **License** | MIT | | **Langage** | Go (frontend TypeScript) | | **Étoiles GitHub** | 6,5k ⭐ | | **DerniĂšre MAJ** | 2026-06-06 | | **CatĂ©gorie** | [[cat-backups|Backups]] | ## 📝 Description **Backrest** est une **interface web et un orchestrateur pour [[app-restic]]**. C'est l'un des projets qui rĂ©pond Ă  la question « comment puis-je gĂ©rer mes dizaines de repos restic sans Ă©crire un script bash par source ? ». Le principe est simple : Backrest **n'est pas un moteur de backup** en soi — il **pilote restic** Ă  travers une UI web. ConcrĂštement, Backrest : - **embarque le binaire restic** (donc compatible avec n'importe quel repo restic existant), - expose une **UI web** pour dĂ©finir des **repositories** (un repo par backend : S3, B2, SFTP, local
), - dĂ©finit des **plans** qui associent un repo, une liste de **chemins Ă  sauvegarder**, une **planification** (cron-like), des **hooks pre/post** (pour faire un `pg_dump` avant la backup par exemple), et des **politiques de prune** (garder 7 daily, 4 weekly, 6 monthly
), - affiche les **logs** de chaque exĂ©cution, l'historique des snapshots, l'espace utilisĂ©, - permet de **restaurer** interactivement (fichier, dossier, ou snapshot complĂšte) avec prĂ©visualisation du contenu avant de valider. Pour qui a connu la galĂšre de gĂ©rer 10 cron tab diffĂ©rents pour 10 repos restic, Backrest est une **vraie libĂ©ration**. Le tout en MIT, dĂ©veloppĂ© par Gareth George, maintenu activement. Les **politiques de prune** dans Backrest sont bien plus ergonomiques qu'en CLI restic : on coche des cases pour « garder 7 daily, 4 weekly, 6 monthly, 3 yearly » et Backrest traduit ça en `restic forget --keep-daily=7 --keep-weekly=4 --keep-monthly=6 --keep-yearly=3 --prune`. On peut aussi dĂ©finir des **tags de snapshot** (par exemple `daily`, `weekly`, `monthly`) et avoir des politiques de rĂ©tention **indĂ©pendantes par tag**, ce qui est trĂšs puissant pour des rĂ©tentions mĂ©tier (garder 30 snapshots `monthly` mais seulement 7 `daily`). Backrest supporte nativement **tous les backends de restic** : `local`, `S3`, `S3-compatible` (Wasabi, MinIO, Scaleway, OVH, B2, etc.), `B2`, `SFTP`, `S3-with-credential-helpers`, et plus gĂ©nĂ©ralement tout ce que `restic init -r ` accepte. Si vous avez dĂ©jĂ  un repo restic en CLI, vous pouvez le **brancher Ă  Backrest sans rien rĂ©-importer** — Backrest est un consommateur du format, pas un concurrent. ComparĂ© Ă  ses principaux rivaux : - **vs [[app-restic]] seul (CLI)** : Backrest est restic **avec une UI**. Aucune perte de fonctionnalitĂ©, juste du confort. - **vs [[app-kopia]]** : Kopia a sa propre UI, mais **desktop** (pas web self-hosted). Si on veut une UI **web** dans le navigateur, Backrest est aujourd'hui le choix naturel pour l'Ă©cosystĂšme restic. - **vs [[app-duplicati]]** : Duplicati a une UI web, mais son moteur est en C#/.NET/Mono, en perte de vitesse, avec un format propriĂ©taire et un Ă©cosystĂšme plus restreint. Backrest s'appuie sur restic, plus rapide, format plus simple, plus actif. - **vs [[app-borg-ui]]** : Borg UI est l'Ă©quivalent pour Borg ; Backrest est l'Ă©quivalent pour restic. **Public cible** : **intermĂ©diaire Ă  avancĂ©**. Pour les admins qui ont dĂ©jĂ  (ou vont avoir) plusieurs repos restic, Backrest est l'orchestrateur qui rend l'ensemble **utilisable au quotidien**. ## 🚀 Installation ### Option 1 : Docker Compose (recommandĂ©) ```yaml # docker-compose.yml version: '3.8' services: backrest: image: garethgeorge/backrest:latest container_name: backrest restart: unless-stopped environment: - BACKREST_DATA=/data - BACKREST_PORT=9898 - TZ=Europe/Paris - XDG_CONFIG_HOME=/data/config volumes: - backrest-data:/data - /var/run/docker.sock:/var/run/docker.sock # pour les hooks Docker - /mnt/source:/source:ro # adapter au chemin sauvegardĂ© labels: - "traefik.enable=true" - "traefik.http.routers.backrest.rule=Host(`backrest.example.com`)" - "traefik.http.routers.backrest.entrypoints=websecure" - "traefik.http.routers.backrest.tls.certresolver=letsencrypt" - "traefik.http.routers.backrest.middlewares=backrest-auth" - "traefik.http.middlewares.backrest-auth.basicauth.users=admin:$$apr1$$xyz..." volumes: backrest-data: ``` > **Note Traefik** : par dĂ©faut Backrest n'a pas d'authentification web. Il est **fortement recommandĂ©** de mettre un `basicauth` (ou mieux, un SSO via Authelia/Authentik) devant l'UI, car Backrest contient les credentials de tous vos repos et les **mots de passe de chiffrement** en clair dans sa config (c'est un choix de design assumĂ© pour permettre l'automatisation des backups). ### Option 2 : Binaire natif (auto-hĂ©bergĂ©) ```bash # TĂ©lĂ©charger depuis GitHub Releases wget https://github.com/garethgeorge/backrest/releases/download/v1.7.0/backrest_Linux_x86_64.tar.gz tar -xzf backrest_Linux_x86_64.tar.gz sudo mv backrest /usr/local/bin/ # Lancer en service sudo useradd -r -s /bin/false backrest sudo mkdir -p /var/lib/backrest sudo chown backrest:backrest /var/lib/backrest # CrĂ©er /etc/systemd/system/backrest.service cat < /tmp/mydb.dump` dans un conteneur `postgres:16`. TrĂšs puissant pour sauvegarder des **bases de donnĂ©es** de maniĂšre consistante. 5. **Premier run** : bouton *Run Now* sur le plan → inspecter les logs. VĂ©rifier que la **taille transfĂ©rĂ©e** est conforme Ă  l'attendu. 6. **Tester la restauration** : onglet *Restore* sur une snapshot → naviguer dans l'arborescence → restaurer un fichier test. **Un backup non testĂ© n'est pas un backup.** ## 🔄 Alternatives ### Open Source - [[app-restic]] — Le moteur sous-jacent ; Backrest n'est qu'une UI au-dessus. - [[app-kopia]] — Concurrent avec UI **desktop** (pas web), pas de repo partagĂ©. - [[app-duplicati]] — Concurrent UI web self-hosted, mais moteur diffĂ©rent et en perte de vitesse. - [[app-borg-ui]] — Équivalent de Backrest pour l'Ă©cosystĂšme **Borg** au lieu de restic. - [[app-borg-backup-server]] — Orchestrateur Borg, plus ancien et moins actif. - **Resticweb** / **restic-browser** — Outils tiers pour explorer un repo restic en lecture seule, sans orchestration. ### Comparaison des orchestrateurs / UIs de backup | CritĂšre | Backrest | [[app-borg-ui]] | [[app-duplicati]] | [[app-kopia]] (UI Desktop) | | :--- | :--- | :--- | :--- | :--- | | Moteur | restic | borg | Duplicati (C#) | Kopia (Go) | | UI | Web | Web | Web | Desktop | | Multi-repos | ✅ | ✅ | ✅ | ✅ | | Hooks pre/post | ✅ | ⚠ basique | ⚠ (scripts) | ⚠ basique | | Prune policy visuelle | ✅ | ✅ | ✅ | ✅ | | Restore interactif | ✅ | ✅ | ✅ | ✅ | | Licence | MIT | MIT | LGPL-2.1 | Apache-2.0 | | Open source | ✅ | ✅ | ✅ | ✅ | | Auth web intĂ©grĂ©e | ❌ (via proxy) | ❌ (via proxy) | ❌ (basique) | N/A (desktop) | | Cadence de release | TrĂšs active | Active | Lente | TrĂšs active | **Verdict** : Backrest est **le meilleur orchestrateur pour restic** en 2026. Si vous utilisez restic et que vous avez plus de 2-3 repos, Backrest change la vie. ### PropriĂ©taires (ce que Backrest remplace) - **Veeam Backup & Replication** — Standard entreprise VM, mais hors budget homelab. - **Acronis Cyber Protect** — Commercial, ~80 $/an/poste, fermĂ©. - **Carbonite Server Backup** — Commercial, ~100 $/serveur/an. - **Backblaze B2 + CloudBerry (MSP360)** — Backend B2 + UI commerciale. - **CrashPlan for Small Business** — ~10 $/mois/poste, E2E, fermĂ©. ## 🔐 SĂ©curitĂ© - **Chiffrement AES-256-CTR + Poly1305** (cĂŽtĂ© restic) : Backrest **ne chiffre rien lui-mĂȘme** — il pilote restic. Le chiffrement est appliquĂ© par restic sur le repo, comme si vous lanciez `restic backup` Ă  la main. - **Stockage des credentials** : Backrest **stocke en clair dans sa config** les mots de passe des repos et les credentials cloud. C'est volontaire (pour automatiser les opĂ©rations), mais cela signifie que : - Le fichier de config Backrest (`/data/config/...`) doit ĂȘtre **chiffrĂ© au repos** (LUKS sur le disque, par exemple). - L'accĂšs Ă  l'UI doit ĂȘtre **protĂ©gĂ© par une auth forte** (basicauth + IP allowlist, ou Authelia/Authentik via Traefik). - Ne **jamais** exposer l'UI Backrest directement sur Internet sans SSO devant. - **RĂšgle 3-2-1** : Backrest peut gĂ©rer **plusieurs repos** simultanĂ©ment (un repo S3, un repo local, un repo B2
) ; configurez **2-3 plans vers 2-3 backends diffĂ©rents** pour respecter la rĂšgle 3-2-1. IdĂ©alement un plan vers B2 (offsite cloud), un plan vers un disque USB local (air-gapped), un plan vers un NAS du LAN. - **Test de restauration rĂ©gulier** : Backrest a un onglet *Restore* — **utilisez-le** au moins mensuellement pour vĂ©rifier qu'une restauration arbitraire fonctionne. Les backups non testĂ©s ne sont **pas** des backups. - **ClĂ©/mot de passe du repo** : le mot de passe de chiffrement de chaque repo restic est saisi une seule fois dans Backrest (sinon l'automatisation est impossible). **Copier ce mot de passe** dans un gestionnaire de mots de passe indĂ©pendant (Bitwarden, KeePassXC) ou imprimez-le sur papier dans un coffre. Sans lui, le repo est irrĂ©cupĂ©rable. - **Air-gapped backup** : un plan Backrest vers un disque USB local montĂ© dans le conteneur (bind mount) est un excellent moyen d'avoir un **3e backup air-gapped** (hors-ligne la plupart du temps, branchĂ© uniquement pendant le run de backup). ## 📚 Ressources - [GitHub garethgeorge/backrest](https://github.com/garethgeorge/backrest) - [Documentation officielle](https://github.com/garethgeorge/backrest/blob/main/docs/index.md) - [Wiki / guides](https://github.com/garethgeorge/backrest/wiki) - [Releases et changelogs](https://github.com/garethgeorge/backrest/releases) - [DĂ©mo en ligne](https://github.com/garethgeorge/backrest#demo) ## Pages LiĂ©es - [[cat-backups]] — CatĂ©gorie Backups - [[strategie-backup-321]] — La rĂšgle 3-2-1 expliquĂ©e - [[app-restic]] — Le moteur pilotĂ© par Backrest - [[app-borg]] — Concurrent avec [[app-borg-ui]] comme UI - [[app-kopia]] — Concurrent avec UI desktop intĂ©grĂ©e - [[app-duplicati]] — Concurrent UI web, moteur diffĂ©rent - [[app-borg-ui]] — Équivalent pour Borg - [[app-portainer]] — Visualiser les conteneurs - [[app-traefik]] — Reverse-proxy HTTPS + auth - [[securisation-home-lab]] — Bonnes pratiques de sĂ©curitĂ© - [[glossaire-homelab]] — DĂ©finitions