7.1 KiB
title: Borg Backup Server created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, backups, borg, orchestration, python, mit] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Backups, https://github.com/marcpope/borgbackupserver]
💾 Borg Backup Server
L'orchestrateur central pour Borg : un serveur web qui gère à distance vos clients BorgBackup, crée les repos, planifie les jobs et surveille l'état de tous vos endpoints.
📋 Informations Générales
| Champ | Valeur |
|---|---|
| Site web | (GitHub) |
| GitHub | marcpope/borgbackupserver |
| License | MIT |
| Langage | Python |
| Étoiles GitHub | 209 ⭐ |
| Dernière MAJ | 2026-06-07 |
| Catégorie | [[cat-backups |
📝 Description
Borg Backup Server (BBS) est un serveur d'orchestration pour app-borg. Borg est fantastique mais c'est un outil mono-machine : vous devez gérer manuellement borg init, borg create, borg prune sur chaque hôte. Quand vous avez 5, 10, 20 machines à sauvegarder, ça devient vite pénible.
BBS joue exactement le même rôle que app-borg-ui mais avec une orientation serveur central : vous déployez BBS quelque part, et depuis son UI web vous pouvez :
- ✅ Déclarer des clients (endpoints Linux/Windows où tourne un agent BBS)
- ✅ Créer un repository Borg distant (SFTP, local, Rclone) côté serveur
- ✅ Définir des politiques de sauvegarde (sources, exclusions, rétention, schedule)
- ✅ Déclencher des jobs à distance (push ou pull, selon le sens du réseau)
- ✅ Surveiller l'état : dernière exécution, taille, durée, exit code
- ✅ Restaurer un fichier depuis l'UI sans avoir à se connecter en SSH sur l'endpoint
- ✅ Multi-clients : un seul BBS peut orchestrer des dizaines de machines
- ✅ API REST pour intégration maison
- ✅ Notifications : email / webhook en cas d'échec
- ✅ S'appuie sur Borg : zéro réinvention, toute la puissance de Borg (chiffrement, déduplication, compression) reste disponible
Public cible : admins qui ont plusieurs machines à sauvegarder avec Borg et qui veulent un point central de pilotage sans monter une stack Bacula / Bareos / Pluton. C'est le « Borg UI distribué ».
🚀 Installation
Docker Compose
# docker-compose.yml
version: '3.8'
services:
borg-backup-server:
image: ghcr.io/marcpope/borgbackupserver:latest
container_name: borg-backup-server
restart: unless-stopped
ports:
- "8081:8080" # UI web
volumes:
- bbs-data:/data
- bbs-config:/config
- /var/run/docker.sock:/var/run/docker.sock:ro # optionnel, pour agents
environment:
- TZ=Europe/Paris
- BBS_SECRET_KEY=*** labels:
- "traefik.enable=true"
- "traefik.http.routers.bbs.rule=Host(`bbs.example.com`)"
- "traefik.http.routers.bbs.entrypoints=websecure"
- "traefik.http.routers.bbs.tls.certresolver=letsencrypt"
volumes:
bbs-data:
bbs-config:
ℹ️ Les clients BBS s'installent séparément sur chaque endpoint à sauvegarder (binaire Python ou conteneur side-car). Ils dialoguent avec le serveur via HTTPS.
⚙️ Configuration Initiale
- Démarrer le serveur :
docker compose up -d, puishttps://bbs.example.com. - Créer le compte admin et configurer le SSH host key (BBS utilise SSH/SFTP pour parler aux clients Borg).
- Ajouter un client (Clients > Add) : hostname, IP/hostname de l'endpoint, clé SSH publique à pré-installer sur l'endpoint.
- Créer un repository Borg (Repositories > New) : choisir le mode (local sur BBS, SFTP vers un NAS tiers, Rclone vers S3/B2), saisir la passphrase.
- Créer un job (Jobs > New) : lier client + repository + sources (chemins à sauvegarder) + exclusions + schedule (cron).
- Installer l'agent sur l'endpoint, vérifier qu'il apparaît « Online » dans le dashboard, lancer un premier backup de test, et tester une restauration depuis l'UI.
🔄 Alternatives
Open Source
- app-borg — Borg seul, sans orchestration (mono-machine).
- app-borg-ui — UI web mono-machine (Borg UI), pas d'orchestration multi-clients.
- app-restic + app-backrest — Backrest offre une UI web d'orchestration multi-repos, philosophie très proche.
- app-pluton — concurrent direct, plus de fonctionnalités (multi-destinations, GFS, etc.), mais plus jeune.
- BorgWarehouse — autre UI web pour Borg, plus simple.
- PlexGuide / PGBlitz — stack complète qui inclut du backup Borg orchestré.
Comparaison Borg Backup Server vs autres
| Critère | Borg Backup Server | Borg UI | Backrest (restic) | Pluton |
|---|---|---|---|---|
| Multi-clients | ✅ (natif) | ❌ | ⚠️ (multi-repos) | ✅ (natif) |
| UI web | ✅ | ✅ | ✅ | ✅ |
| Base technique | Borg | Borg | Restic | Custom |
| Chiffrement E2E | ✅ (Borg) | ✅ | ✅ | ✅ |
| Rétention | Borg prune | Borg prune | Restic forget | GFS custom |
| Notifications | Email/webhook | Limité | ✅ | ✅ |
| Maturité | Moyen | Stable | Stable | Jeune |
Verdict : Borg Backup Server est le bon choix si vous êtes un utilisateur convaincu de app-borg et que vous voulez piloter plusieurs endpoints depuis une seule UI. Si vous repartez de zéro, app-restic + app-backrest est plus jeune mais plus activement développé.
Propriétaires
- BorgBase (cloud commercial) — utilise Borg en backend, UI web fournie, pas self-hosted.
- Veeam / Acronis — propriétaires, hors scope.
- CrashPlan for Small Business — abandonné pour les particuliers.
🔐 Sécurité
- Règle 3-2-1 : BBS orchestre les backups mais ne décide pas des destinations. Configurez au moins 2 destinations (par ex. : NAS local + S3 B2) pour appliquer la règle — voir strategie-backup-321.
- Chiffrement : tout repose sur le chiffrement natif de app-borg (AES-256-CTR, AES-256-GCM en 1.3+). Les passphrases doivent être uniques par repository et stockées dans un gestionnaire (Bitwarden / Vaultwarden).
- Clé hors-ligne : exportez la clé de chiffrement Borg (fichier
key) sur une clé USB chiffrée LUKS stockée dans un coffre — sans elle, aucun snapshot n'est déchiffrable. Voir securisation-home-lab. - SSH : utilisez des clés SSH ed25519 dédiées par client, pas de mot de passe. Rotate les clés annuellement.
- Test de restauration : BBS permet de restaurer depuis l'UI — testez au moins un fichier critique par client par trimestre.
📚 Ressources
Pages Liées
- cat-backups — Catégorie Backups
- strategie-backup-321 — Règle 3-2-1
- app-restic — Alternative : Restic + Backrest
- app-borg — Le moteur Borg
- app-kopia — Backup avec UI
- app-portainer — Gestion conteneurs
- securisation-home-lab — Bonnes pratiques