--- title: Borg UI created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, backups, borg, ui, typescript, nodejs, react, monitoring] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Backups, https://github.com/karanhudia/borg-ui] --- # đŸ’Ÿ Borg UI > **L'interface web moderne pour Borg Backup** : gestion centralisĂ©e de repos distants, cron jobs, monitoring, alertes Telegram/Discord. Pour qui aime la puissance de [[app-borg]] mais dĂ©teste la ligne de commande. > 💡 Borg UI ne **remplace pas** Borg : c'est une surcouche web qui pilote Borg en arriĂšre-plan. Vous avez toujours besoin de Borg installĂ© sur l'hĂŽte (la couche de sauvegarde reste inchangĂ©e). ## 📋 Informations GĂ©nĂ©rales | Champ | Valeur | | :--- | :--- | | **Site web** | (GitHub) | | **GitHub** | [karanhudia/borg-ui](https://github.com/karanhudia/borg-ui) | | **License** | MIT | | **Langage** | TypeScript (Node.js + React) | | **Étoiles GitHub** | 1 495 ⭐ | | **DerniĂšre MAJ** | 2026-06-06 | | **CatĂ©gorie** | [[cat-backups|Backups]] | ## 📝 Description **Borg UI** (par [karanhudia](https://github.com/karanhudia/borg-ui)) est une **interface web moderne** pour piloter [[app-borg]] sans toucher au terminal. L'idĂ©e est simple : laisser les administrateurs sys configurer leurs archives, cron jobs, hook scripts et alertes via une UI claire, et laisser les utilisateurs moins techniques **lancer un backup, browse, ou restaurer un fichier** en quelques clics. L'application supporte plusieurs backends de stockage — **S3, SFTP, disque local** — et permet de gĂ©rer **plusieurs repos Borg** depuis un seul dashboard. Un systĂšme de **monitoring intĂ©grĂ©** remonte les statuts de chaque job, et des **alertes Telegram/Discord** notifient en cas d'Ă©chec. On Ă©vite ainsi le piĂšge classique : « mon backup s'arrĂȘte depuis 3 mois, je ne m'en rends compte qu'au moment oĂč j'en ai besoin ». Le projet est jeune mais bien plus moderne que l'interface officielle (qui n'existe pas) ou que [[app-kopia]] (qui pourtant inclut sa propre UI). IdĂ©al pour les **labs familiaux**, **freelances**, ou **petites Ă©quipes** qui veulent industrialiser leurs sauvegardes Borg sans se battre avec des scripts bash. - ✅ **MIT** : 100 % open source - ✅ **UI moderne** : React + Tailwind, agrĂ©able Ă  utiliser - ✅ **Multi-repos** : gĂ©rer tous vos repos Borg depuis une seule instance - ✅ **Backends S3, SFTP, local** - ✅ **Cron jobs intĂ©grĂ©s** (plus besoin de crontab) - ✅ **Alertes Telegram / Discord / Webhook** - ✅ **Browse & restore** par archive / fichier - ✅ **Hook pre/post-backup** (ex : snapshot BTRFS, notifier FinTS) - ✅ **Auth multi-utilisateurs** - ⚠ **Borg doit ĂȘtre installĂ©** sur l'hĂŽte (dĂ©pendance externe) - ⚠ **Projet jeune** : moins battle-tested que [[app-restic]] + RestiWeb - ⚠ **Mono-hĂŽte** : ne pilote pas plusieurs machines distantes simultanĂ©ment ## 🚀 Installation ### Docker Compose (recommandĂ©) avec Traefik ```yaml # docker-compose.yml version: '3.8' services: borg-ui: image: harbor.karanhudia.com/library/borg-ui:latest container_name: borg-ui restart: unless-stopped ports: - "8081:8081" # Web UI volumes: - borg-ui-data:/home/borg/.config/borg - borg-repos:/repos # Stockage des archives Borg - borg-ssh:/home/borg/.ssh # ClĂ©s SSH pour SFTP environment: - BORG_UI_PORT=8081 - TZ=Europe/Paris labels: - "traefik.enable=true" - "traefik.http.routers.borgui.rule=Host(`backup.example.com`)" - "traefik.http.routers.borgui.entrypoints=websecure" - "traefik.http.routers.borgui.tls.certresolver=letsencrypt" - "traefik.http.services.borgui.loadbalancer.server.port=8081" volumes: borg-ui-data: borg-repos: borg-ssh: ``` > ⚠ **Important** : Borg UI s'exĂ©cute souvent dans un conteneur, mais le client Borg doit pouvoir atteindre ses backends. Pour un dĂ©pĂŽt local, montez le mĂȘme volume. Pour S3 ou SFTP distant, configurez les credentials dans l'UI. ### Installation bare-metal (Node.js) ```bash git clone https://github.com/karanhudia/borg-ui.git cd borg-ui npm install npm run build npm start ``` > Borg (≄ 1.2) doit ĂȘtre installĂ© sur l'hĂŽte (`apt install borgbackup` ou `brew install borgbackup`). ## ⚙ Configuration Initiale 1. **AccĂ©der Ă  l'UI** : `http://IP:8081` puis crĂ©er le compte administrateur au premier lancement. 2. **Ajouter un repository** : `Settings > Repositories > New` : - Choisir le type : **Local path / S3 / SFTP** - DĂ©finir le chemin du repo (`/repos/mon-serveur`) - DĂ©finir la **passphrase** (stockĂ©e chiffrĂ©e cĂŽtĂ© serveur). 3. **CrĂ©er un premier job** : `Jobs > New` : - Repository ciblĂ© - Paths Ă  sauvegarder (`/etc`, `/home`, `/var/lib`, ...) - Exclusions (`--exclude` patterns) - Planification cron (ex : `0 3 * * *`) 4. **Configurer les alertes** : `Settings > Notifications` → ajouter un webhook Telegram ou Discord. 5. **Tester un backup** : bouton **Run now** depuis l'Ă©cran du job, vĂ©rifier dans `Jobs > History` que l'archive apparaĂźt. 6. **Restaurer** : `Browse > [archive] > [fichier] > Restore` — choisir l'emplacement de destination (local ou download). ## 🔄 Alternatives ### Open Source - [[app-kopia]] — UI intĂ©grĂ©e native, FOSS, plus mature - [[app-restic]] + **Restic Web UI** (k8up, resticprofile) — plus DIY - [[app-borg]] + **Borg Web** — Plusieurs UIs tierces (kde-breeze, etc.) - [[app-duplicacy]] — GUI payante officielle - **Pika Backup** — GNOME, simple, Linux - **Vorta** — Client macOS natif pour Borg - **Pychter** — TUI Python pour Borg ### PropriĂ©taires (SaaS) - **BorgBase** (€5/mois) — HĂ©bergement Borg clĂ© en main - **Hetzner Storage Box** — Backend SFTP compatible Borg - **Arq Backup** — macOS/Windows, GUI native payante - **Duplicacy GUI** (€50) — Voir [[app-duplicacy]] ### Comparaison Borg UI vs alternatives | CritĂšre | Borg UI | [[app-kopia]] | Restic + RestiWeb | BorgBase | | :--- | :--- | :--- | :--- | :--- | | License | MIT | Apache-2.0 | BSD-2 (UI tierces) | PropriĂ©taire | | Backend | S3, SFTP, local | S3, SFTP, B2, local | TrĂšs large | S3 + leur infra | | Multi-repos | ✅ UI claire | ✅ UI claire | ⚠ DIY | N/A | | Cron intĂ©grĂ© | ✅ | ✅ | ❌ (cron systĂšme) | ✅ | | Alertes | TG/Discord/Webhook | Email/Webhook | DIY | Email | | HĂ©bergement | Self | Self | Self | Cloud | | MaturitĂ© | Jeune (2023+) | Mature | Variable | TrĂšs mature | | Prix | Gratuit | Gratuit | Gratuit | Freemium | **Verdict** : Borg UI est la meilleure option si vous utilisez dĂ©jĂ  [[app-borg]] et voulez **une UI propre, moderne, avec alertes**. Pour une stack 100 % clĂ© en main, [[app-kopia]] est une alternative FOSS plus endurante. Pour zĂ©ro opĂ©ration, **BorgBase** est imbattable. ## 🔐 SĂ©curitĂ© - **RĂšgle 3-2-1** : configurez au moins **2 backends** dans Borg UI (ex : local + S3) pour respecter la copie hors-site. - **Chiffrement** : Borg chiffre nativement les archives (AES-256 + HMAC). **La passphrase doit ĂȘtre stockĂ©e hors-ligne** (gestionnaire type KeePass, Bitwarden, ou Yubikey) — sa perte rend les archives irrĂ©cupĂ©rables. - **HTTPS obligatoire** : exposez Borg UI **derriĂšre [[app-traefik]]** avec un certificat valide. Sans HTTPS, la passphrase transiterait en clair sur le rĂ©seau. - **2FA** : activez le 2FA pour le compte admin de Borg UI (`Settings > Account > 2FA`). - **Test de restauration** : simulez une restauration complĂšte sur une VM jetable **au moins 1×/trimestre**. - **ClĂ© hors-ligne** : exportez la base `~/.config/borg` + passphrases sur une **clĂ© USB chiffrĂ©e** stockĂ©e en coffre. - **Audit** : surveillez les logs Borg UI pour dĂ©tecter les **restaurations anormales** (volume, fichiers sensibles). - **Rotation** : la rotation des clĂ©s SSH et des tokens S3 doit se faire annuellement. ## 📚 Ressources - [GitHub karanhudia/borg-ui](https://github.com/karanhudia/borg-ui) - [Documentation officielle](https://github.com/karanhudia/borg-ui/wiki) - [Borg Backup upstream](https://borgbackup.readthedocs.io/) - [Demo (Docker Hub)](https://hub.docker.com/r/karanhudia/borg-ui) ## Pages LiĂ©es - [[cat-backups]] — CatĂ©gorie Backups - [[strategie-backup-321]] — MĂ©thode 3-2-1 - [[app-restic]] — Alternative FOSS cloud-first - [[app-borg]] — Le moteur de sauvegarde sous-jacent - [[app-kopia]] — Concurrent FOSS avec UI intĂ©grĂ©e - [[securisation-home-lab]] — Bonnes pratiques sĂ©curitĂ©