WinBorg
WinBorg is a Windows GUI for BorgBackup, with scheduling and repository management.
Install / Use
/learn @robotnikz/WinBorgREADME
WinBorg Manager
The native Windows GUI for BorgBackup.
Borg backups on Windows — with guided setup, scheduling, and restores.
<!-- Badges (optional: keep consistent with README.md) -->Quick links: Download (Installer) • All Releases • Docs • Testing • Security
</div>⚡ What is WinBorg?
WinBorg Manager is a modern Windows 10/11 desktop app that brings BorgBackup to a Windows-native GUI:
- Encrypted, deduplicated, compressed backups (Borg)
- Guided onboarding for WSL2 + Ubuntu + Borg (no CLI wrestling)
- Jobs & schedules, retention/prune, notifications
- Restore, browse, diff, mount — because backups without restore aren’t backups
WinBorg is Windows-first. Your backups remain standard Borg repositories (no vendor lock-in).
🖼️ Gallery
<div align="center"> <img src="public/dashboard.png" alt="Dashboard" width="45%" /> <img src="public/connections.png" alt="Connections" width="45%" /> <br/> <br/> <img src="public/repos.png" alt="Repositories" width="45%" /> <img src="public/jobs.png" alt="Jobs" width="45%" /> <br/> <br/> <img src="public/archives.png" alt="Archives" width="45%" /> <img src="public/mounts.png" alt="Mounts" width="45%" /> </div>🚀 Quickstart (5 minutes)
- Download & install
- First launch / onboarding
- Launch WinBorg and complete onboarding for WSL2 + Ubuntu + BorgBackup.
- Note: WinBorg runs Borg inside WSL, but you manage everything from the Windows UI.
- Create your Connection (SSH)
- Go to Connections → Add Connection.
- Enter a server URL (example:
ssh://user@host:22; some providers use non-standard ports). - Generate an SSH key if needed → Deploy Key → Test SSH.
- Add your repository
- Go to Repositories → Add Repository.
- Select an existing Connection and enter only the repo path (example:
/./backup). - Click Test SSH & Remote Connection → Connect / Initialize.
- Create your first backup
- Go to Jobs → Create Job → pick source folders (Documents/Desktop/Pictures) → Run.
- Verify you see a new archive under Archives.
- Recommended (quick sanity check)
- Do a small test restore (extract a file from an older archive).
If anything gets stuck, see docs/OPERATIONS.md and docs/TESTING.md.
🧰 Manual install (advanced)
If you prefer to install dependencies yourself (or you’re in a locked-down environment), you can prepare WSL + Ubuntu + Borg manually and then run WinBorg.
1) Enable WSL (Admin)
Run PowerShell as Administrator:
wsl --install --no-distribution
# Restart Windows after this finishes.
2) Install Ubuntu (Non-Admin)
After reboot, run PowerShell as your normal user:
wsl --install -d Ubuntu
Ubuntu may prompt you to create a new Linux username/password — complete that step.
3) Install BorgBackup inside Ubuntu
Open the Ubuntu terminal and run:
sudo apt update
sudo apt install -y borgbackup
4) Verify Borg
which borg
# Expected: /usr/bin/borg
After that, open WinBorg and you should be able to skip most onboarding steps.
🧩 Why WSL?
Borg is most stable and best supported on Linux. WinBorg uses WSL2 to run the official Linux Borg binaries — while giving you a polished Windows UI.
This means:
- maximum compatibility with the Borg ecosystem (CLI, BorgBase, borgmatic, etc.)
- no proprietary backup format
- Windows integration where it matters (tray, autostart, Explorer open, etc.)
✨ Features (user-facing)
Setup & Security
- Guided system checks and installation for WSL2, Ubuntu, BorgBackup
- SSH key management (Connections): generate keys, deploy keys per connection, test connectivity
- Optional provisioning: install Borg on a remote Debian/Ubuntu server
- Key export / recovery for Borg repositories
Backup & Automation
- Jobs with multiple source paths, exclude patterns, compression
- Scheduling (e.g. hourly/daily) + rules (e.g. battery/offline)
- Retention/Prune policies (e.g. keep 7 daily, 4 weekly, …)
- Maintenance: prune + compact
Restore & Transparency
- Archive list with metadata & stats
- Archive browser: find files/folders in older snapshots
- Restore / extract: selectively bring data back
- Diff viewer: see what changed between two archives
- Mounts: mount archives as a filesystem (FUSE inside WSL)
Monitoring & UX
- Native Windows notifications + Discord webhook + SMTP
- Tray menu (quick actions, update check, stop mounts)
- Settings export/import (optionally including secrets)
🎯 Who is WinBorg for?
- Windows users who want Borg but don’t want to live in a Borg CLI
- HomeLab/NAS users with SSH-based repositories
- BorgBase / Hetzner StorageBox users
- Security- and ransomware-aware users (client-side encryption + append-only via BorgBase)
✅ Requirements
- Windows 10/11 with WSL2 (virtualization enabled)
- Ubuntu WSL distro (WinBorg can install this during onboarding)
- BorgBackup inside Ubuntu (WinBorg can install this during onboarding)
- For remote repos: SSH access to your backup target (StorageBox/BorgBase/VPS/NAS)
- For mounts: FUSE prerequisites inside WSL (WinBorg checks/fixes many things automatically; missing
/dev/fusemay require WSL update + reboot/shutdown)
🛠️ Troubleshooting (FAQ)
- WSL setup required / install fails: ensure virtualization (VT-x/AMD-V) is enabled; reboot after
wsl --install. - Ubuntu asks for username/password: expected; complete Ubuntu first-run setup.
- BorgBackup not found: use WinBorg auto-install or run
sudo apt update && sudo apt install -y borgbackupin Ubuntu. - SSH permission denied (publickey): go to Connections → Deploy Key; verify host/user/port (Hetzner StorageBox often uses port 23).
- Mounts fail: FUSE preflight runs; if
/dev/fuseis missing, update WSL and reboot/shutdown; see docs/OPERATIONS.md.
🆚 Comparison (short & honest)
- Vorta: excellent Borg desktop client, but primarily macOS/Linux — WinBorg is Windows-first with WSL onboarding.
- Duplicati: huge range of cloud backends and central management — WinBorg focuses on Borg-native workflows, restore/mount UX, and no lock-in.
- BorgBase: hosting/monitoring/2FA/append-only — WinBorg is a great Windows client for BorgBase repositories.
🔒 Security
Please read SECURITY.md.
Important: With Borg, if you lose both your key and passphrase, the data cannot be recovered. WinBorg includes key export/recovery to help prevent this.
🧪 Testing
See docs/TESTING.md
npm run typecheck
npm test
npm run test:coverage
npm run test:e2e
🧱 Developers / Project structure
- Renderer: React + TypeScript in
src/ - Main process:
electron-main.js - Unit-testable main modules:
main/
More: docs/README.md and docs/ARCHITECTURE.md
🤝 Contributing
See CONTRIBUTING.md.
Quick notes:
- Create a branch.
- Run checks locally (see docs/TESTING.md).
- Open a Pull Request targeting
main.
