Desktop-Anwendung für Borg-Backups
mit Unterstützung für SSH (Storage Box), S3 Object Storage und lokale Laufwerke
🇩🇪 Deutsch • 🇬🇧 English
Borg Backup GUI ist eine benutzerfreundliche Desktop-Oberfläche (Tkinter) für BorgBackup – ein leistungsstarkes, deduplizierendes Backup-Programm.
Die Anwendung ermöglicht:
- Automatische, verschlüsselte Backups auf verschiedene Ziele
- Mehrere Backup-Profile mit unterschiedlichen Konfigurationen
- S3 Object Storage (z. B. Hetzner Object Storage, AWS S3, MinIO)
- SSH / Storage Box (Hetzner, beliebiger SSH-Server)
- Lokale Laufwerke (USB-Festplatten, zweite SSD/HDD)
- Systemweite Backups mit automatischer sudo-Erhöhung
- Tray-Icon mit Live-Status und Schnellzugriff
- Zeitplanung (täglich, stündlich, manuell)
- Wartung (Prune, Check, Compact)
- Archiv-Verwaltung mit Liste, Mount/Unmount, Löschen
- Wiederherstellung einzelner Archive
| Komponente | Anforderung |
|---|---|
| Betriebssystem | Linux (getestet auf Ubuntu 24.04+) |
| Python | 3.10+ |
| BorgBackup | apt install borgbackup |
| Tkinter | apt install python3-tk |
| Tray-Icon (optional) | pip3 install pystray pillow |
# 1. Repository klonen
git clone https://github.com/AniGerm/Borg-Backup-GUI.git
cd Borg-Backup-GUI
# 2. Starten (erstellt automatisch venv + installiert Abhängigkeiten)
./start_gui.sh
# Oder manuell:
python3 borg_backup_gui.pyBeim ersten Start führt die App durch die Einrichtung:
- Sudo-NOPASSWD-Regel für automatische Backups
- Desktop-Launcher fürs App-Menü und Autostart
- App starten:
./start_gui.sh - Profil anlegen: Dashboard → "➕ Neues Profil" → Typ wählen
- SSH-Profil: Repository-URL, SSH-Key, Passphrase
- S3-Profil: Bucket-Name, Access Key, Secret Key, Endpoint
- Lokales Profil: Ordner-Pfad (z. B.
/mnt/backup/borg-repo) - Backup starten: Backup-Tab → Profil auswählen → "Backup jetzt ausführen"
Für maximale Sicherheit: Zwei Profile mit gleichem Zeitplan
Profil 1: "Hetzner Cloud" (Typ: SSH)
Zeitplan: täglich 03:00
Profil 2: "Lokale Platte" (Typ: local)
Zeitplan: täglich 03:00
Pfad: /mnt/usb-backup/borg-repoBeide laufen automatisch nacheinander.
borg_backup_gui.py # Haupt-App (ca. 2900 Zeilen)
borg-backup-gui.desktop # Desktop-Launcher
start_gui.sh # Starter-Skript
install_desktop_launcher.sh # Launcher-Installation
install_nopasswd_rule.sh # Sudo-NOPASSWD-Einrichtung
restore.sh # CLI-Restore für Disaster Recovery
assets/
borg-backup-gui.svg # App-Icon
plans/
plan.md # Technischer Entwicklungsplan
MIT License – siehe LICENSE.
Borg Backup GUI is a user-friendly desktop interface (Tkinter) for BorgBackup – a powerful, deduplicating backup tool.
The application provides:
- Automatic, encrypted backups to multiple destinations
- Multiple backup profiles with different configurations
- S3 Object Storage (Hetzner Object Storage, AWS S3, MinIO, etc.)
- SSH / Storage Box (Hetzner, any SSH server)
- Local drives (USB hard drives, secondary SSD/HDD)
- System-wide backups with automatic privilege elevation
- System tray icon with live status and quick actions
- Scheduling (daily, interval, manual)
- Maintenance (prune, check, compact)
- Archive management with list, mount/unmount, delete
- Restore individual archives
| Component | Requirement |
|---|---|
| OS | Linux (tested on Ubuntu 24.04+) |
| Python | 3.10+ |
| BorgBackup | apt install borgbackup |
| Tkinter | apt install python3-tk |
| Tray icon (optional) | pip3 install pystray pillow |
# 1. Clone repository
git clone https://github.com/AniGerm/Borg-Backup-GUI.git
cd Borg-Backup-GUI
# 2. Start (auto-creates venv + installs dependencies)
./start_gui.sh
# Or manually:
python3 borg_backup_gui.pyOn first launch, the app guides you through setup:
- sudo NOPASSWD rule for automatic backups
- Desktop launcher for app menu and autostart
- Launch:
./start_gui.sh - Create profile: Dashboard → "New Profile" → choose type
- SSH profile: Repository URL, SSH key, passphrase
- S3 profile: Bucket name, access key, secret key, endpoint
- Local profile: Folder path (e.g.,
/mnt/backup/borg-repo) - Start backup: Backup tab → select profile → "Run backup now"
For maximum safety: Two profiles with the same schedule
Profile 1: "Cloud Backup" (Type: SSH)
Schedule: daily at 03:00
Profile 2: "Local Drive" (Type: local)
Schedule: daily at 03:00
Path: /mnt/usb-backup/borg-repoBoth run automatically, one after the other.
borg_backup_gui.py # Main app (~2900 lines)
borg-backup-gui.desktop # Desktop launcher
start_gui.sh # Launch script
install_desktop_launcher.sh # Launcher installation
install_nopasswd_rule.sh # Sudo NOPASSWD setup
restore.sh # CLI restore for disaster recovery
assets/
borg-backup-gui.svg # App icon
plans/
plan.md # Technical development plan
MIT License – see LICENSE.