Skip to content

WinBorg is a Windows GUI for BorgBackup, with scheduling and repository management.

License

Notifications You must be signed in to change notification settings

robotnikz/WinBorg

Repository files navigation

WinBorg Logo

WinBorg Manager

The native Windows GUI for BorgBackup.

Borg backups on Windows — with guided setup, scheduling, and restores.

Release CI/CD Downloads License Tech Stack

Quick links: Download (Installer)All ReleasesDocsTestingSecurity


⚡ 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

Dashboard   Connections

Repositories   Jobs

Archives   Mounts

🚀 Quickstart (5 minutes)

  1. Download & install
  2. 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.
  3. Create your Connection (SSH)
    • Go to ConnectionsAdd Connection.
    • Enter a server URL (example: ssh://user@host:22; some providers use non-standard ports).
    • Generate an SSH key if needed → Deploy KeyTest SSH.
  4. Add your repository
    • Go to RepositoriesAdd Repository.
    • Select an existing Connection and enter only the repo path (example: /./backup).
    • Click Test SSH & Remote ConnectionConnect / Initialize.
  5. Create your first backup
    • Go to JobsCreate Job → pick source folders (Documents/Desktop/Pictures) → Run.
    • Verify you see a new archive under Archives.
  6. 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/fuse may 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 borgbackup in Ubuntu.
  • SSH permission denied (publickey): go to ConnectionsDeploy Key; verify host/user/port (Hetzner StorageBox often uses port 23).
  • Mounts fail: FUSE preflight runs; if /dev/fuse is 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:

  1. Create a branch.
  2. Run checks locally (see docs/TESTING.md).
  3. Open a Pull Request targeting main.

About

WinBorg is a Windows GUI for BorgBackup, with scheduling and repository management.

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •