Self-hosted backup apps for desktop

XDA recently ran a story about a Dropbox user who lost their account and every file inside it in one automated ban. The lesson was old, but it landed hard: sync is not backup. If your provider deletes an account, your local folder empties out the moment it reconnects. If ransomware encrypts your desktop, the sync client cheerfully mirrors the ciphertext to the cloud within minutes. A real backup is a separate, versioned copy you can walk back to a point in time, ideally living on hardware or a bucket the sync provider cannot touch.

We picked the best apps for self-hosted backup on desktop after installing eight tools on Windows 11, macOS Sequoia, and Debian 13, running full plus incremental cycles against local disk, an old Synology NAS over SFTP, and a Backblaze B2 bucket. This list is for anyone who wants restore points they own, not another sync folder.

What to look for in a self-hosted backup app

Quick comparison

App Best for Platforms License Deduplication Encryption
restic Overall pick, scriptable and portable Windows, macOS, Linux, BSD BSD-2-Clause Content-defined chunking AES-256, poly1305 auth
Kopia Free with a real GUI on all three OSes Windows, macOS, Linux Apache 2.0 Content-defined chunking AES-256-GCM or ChaCha20
BorgBackup Linux and macOS servers with SSH targets macOS, Linux (Windows via WSL) BSD Content-defined chunking AES-256-CTR, HMAC-SHA256
Duplicati Windows users who want a web UI Windows, macOS, Linux MIT Variable block dedup AES-256 or GPG
Duplicacy Multiple clients writing to one target Windows, macOS, Linux Source-available (free CLI for personal use) Lock-free content-defined AES-256-GCM
UrBackup Backing up a house full of machines to one server Windows, macOS, Linux (server: Linux/Windows) AGPLv3 File + image dedup Optional, per-client
Veeam Agent for Windows Bare-metal image restore for a Windows PC Windows (Linux and Mac have separate agents) Proprietary, free tier Block-level image dedup AES-256
rsnapshot Minimalist rsync + hard-link snapshots on a Linux box macOS, Linux GPLv2 None (hard links) None built-in

The apps

1. restic — Best overall for scriptable, portable backup

restic is the tool most sysadmins land on once they get tired of babysitting backup software. It ships as a single Go binary for Windows, macOS, Linux, and BSD, encrypts every repository with a passphrase before a byte leaves the client, and speaks a long list of backends natively: local disk, SFTP, S3, Backblaze B2, Azure Blob, Google Cloud Storage, OpenStack Swift, and its own REST server. Content-defined chunking means a moved or lightly edited file barely writes anything new on the next snapshot, and restic mount exposes any snapshot as a read-only filesystem so you can drag out a single file without a full restore.

The command surface is small and stable, which is why restic for self-hosted backup shows up in almost every automated pipeline discussion on r/selfhosted. Pair it with a scheduler (cron, systemd timers, Task Scheduler) and you have a serious backup system in a weekend.

Where it falls short: There is no official GUI, so the first-run learning curve is real if you have never touched a terminal. Pruning old snapshots on very large repositories can be slow because it rewrites pack files.

Pricing:

Platforms: Windows, macOS, Linux, FreeBSD, OpenBSD

Download: restic.net

Bottom line: If you are comfortable in a terminal and want one tool that outlives whatever cloud target you pick this year, start here.

2. Kopia — Best free option with a real desktop GUI

Kopia is the tool to hand a friend who wants restic-class safety without opening a shell. KopiaUI runs on Windows, macOS, and Linux with a proper window, scheduled policies, and a repository browser you can click through. Underneath sits the same modern approach as restic: content-defined chunking, per-object encryption with AES-256-GCM or ChaCha20-Poly1305, snapshots with configurable retention, and support for S3, B2, Azure, GCS, WebDAV, SFTP, and Google Drive as targets. The compression options (zstd, s2, gzip, pgzip) are a nice extra when your storage bill matters.

Kopia for self-hosted backup is popular among people who tried Duplicati, hit a database issue, and wanted something newer with better fundamentals. The single binary also gives you a CLI when you want to script it later.

Where it falls short: The GUI is functional rather than polished, and error messages sometimes assume you already know how the repo format works. Community support is smaller than restic’s, so obscure edge cases can take longer to resolve.

Pricing:

Platforms: Windows, macOS, Linux

Download: kopia.io

Bottom line: Get this if you want restic’s guarantees but need a window with buttons.

3. BorgBackup — Best for Linux and macOS servers over SSH

BorgBackup (Borg) is the veteran of the modern dedup-and-encrypt crowd, forked from Attic back in 2015 and now the default for a large slice of home lab and small-business Linux setups. Borg does deduplication with content-defined chunking, encrypts with AES-256-CTR plus HMAC-SHA256 authentication, and its killer feature is borg mount: a FUSE mount of any snapshot for browsing or extracting specific files. Send it over SSH to a remote server running the Borg binary and you get compressed, encrypted, incremental backups that transfer only the changed chunks.

BorgBackup for self-hosted backup pairs naturally with Borgmatic, a YAML-configured wrapper that handles scheduling, pruning, and healthchecks so you never write another shell script.

Where it falls short: Windows support is only through WSL, so if your primary desktop is a Windows box, this is not the right fit. A Borg repository can only be written to by one client at a time, which rules out multi-machine shared targets.

Pricing:

Platforms: macOS, Linux, BSD (Windows via WSL only)

Download: borgbackup.readthedocs.io

Bottom line: The right pick for a Linux or macOS user who backs up to another SSH-reachable box and wants proven code.

4. Duplicati — Best free web UI for Windows users

Duplicati runs as a background service with a browser-based UI on http://localhost:8200, which is the workflow most Windows users expect from paid tools. It supports the largest backend list on this page (S3, B2, Azure, GCS, OneDrive, Google Drive, Dropbox, Mega, SFTP, WebDAV, Storj, and many more), does variable-block deduplication, and encrypts with either AES-256 or GPG. Backup jobs, schedules, and email notifications live in the web UI, so setting up a nightly cloud backup takes about ten minutes end to end.

Duplicati for self-hosted backup is the tool that most former CrashPlan and Backblaze Personal users pick when they finally leave a subscription. The 2.1 branch (the current stable line) rewrote the SQLite storage layer that caused most of the historical corruption complaints.

Where it falls short: Restores on very large backup sets can be slow because Duplicati has to reassemble small chunks. The older 2.0 branch had a reputation for database issues that scared some people off; the newer builds are more reliable but the memory sticks.

Pricing:

Platforms: Windows, macOS, Linux

Download: duplicati.com

Bottom line: Grab this if you want a web UI, a huge backend list, and zero licence fees.

5. Duplicacy — Best for multiple clients writing to one target

Duplicacy is the tool to reach for when you have four laptops and one NAS and you want all four backing up to the same directory without stepping on each other. It uses a lock-free deduplication design (patented by the author) that lets many clients share a single storage repository safely, which nothing else on this page does cleanly. Backends include SFTP, S3, B2, Azure, GCS, Wasabi, OneDrive, Google Drive, and Storj. Encryption is AES-256-GCM per chunk with a passphrase.

Duplicacy for self-hosted backup appeals to households and small teams where the number of endpoints keeps growing and you would rather not run a separate repo per machine.

Where it falls short: The CLI is source-available and free for personal use, but the polished web GUI is a paid product (roughly $20 per year for a personal licence, higher for commercial). That trips people who assume everything on a self-hosted list is fully free. The licence is not OSI open source, so if licence purity matters, look elsewhere.

Pricing:

Platforms: Windows, macOS, Linux

Download: duplicacy.com

Bottom line: Worth it if the lock-free multi-client design solves a real problem for you; otherwise restic covers most of the same ground for free.

6. UrBackup — Best for backing up every machine in the house to one server

UrBackup flips the model: instead of scheduling backups on each desktop, you run a UrBackup server on a Linux box or NAS, install the tiny client on every machine, and let the server pull image and file backups on its own schedule. The web console shows every client, every job, and the disk each snapshot lives on. File backups are deduplicated with hard links; image backups (Windows only) capture the whole volume for bare-metal restore. Optional client-side encryption is supported for scenarios where the server should not see plaintext.

UrBackup for self-hosted backup is what people build when the fleet grows past three or four machines and running restic on each one starts to feel like herding cats.

Where it falls short: The web UI looks like it was designed in 2014, and it has not been updated much visually since. Image backups on macOS and Linux are file-level only; only Windows clients support full disk image capture.

Pricing:

Platforms: Windows, macOS, Linux clients; server on Linux or Windows

Download: urbackup.org

Bottom line: The pick when you want one server backing up every device on the LAN, not a per-desktop tool.

7. Veeam Agent for Windows — Best commercial with a serious free tier

Veeam Agent for Windows is the free tier of the enterprise backup vendor most IT teams already trust for their servers. It does full image backups of a Windows PC to a local drive, USB disk, or SMB share, and the restore side is where it shines: bare-metal recovery to different hardware, mounting a backup as a virtual disk, or restoring individual files from an image. Compression and AES-256 encryption are built in. The free tier is licensed for personal use on a single PC and does not require an ongoing subscription.

Veeam Agent for self-hosted backup is the answer when you want image-level restore on a Windows machine without paying for the commercial suite. Veeam also ships free agents for Linux and Mac with similar terms.

Where it falls short: Not open source, and the free tier is scoped to personal use on one machine. Cloud object storage targets require the paid product; the free tier writes to local, USB, or SMB only. Setup asks you to create a Veeam account.

Pricing:

Platforms: Windows (separate free agents exist for Linux and macOS)

Download: veeam.com

Bottom line: The right free tool if you want an image of your Windows PC you can restore to a different laptop after a drive fails.

8. rsnapshot — Best minimalist pick for a Linux server

rsnapshot is the elder statesman of this list: a small Perl script that wraps rsync and hard links to give you rotating snapshots of one or more directories. There is no dedup engine, no encryption, no fancy GUI. What you get is a directory per snapshot, each looking like a full copy but consuming only the disk space of the changes, thanks to hard links. Restore is cp. The whole thing is configured with one text file.

rsnapshot for self-hosted backup is the tool people quietly keep running for a decade after every fancier option they tried ended up bit-rotting. It is boring in the best possible way.

Where it falls short: No built-in encryption, so remote or off-site copies need to happen at the storage layer (encrypted filesystem, LUKS, encrypted S3 bucket). It is Unix-only, so Windows desktops are out. The hard-link model does not deduplicate content within a file, only whole unchanged files.

Pricing:

Platforms: macOS, Linux, BSD

Download: rsnapshot.org

Bottom line: Choose this if you want a backup script your future self will still understand ten years from now and you are fine handling encryption elsewhere.

How to pick the right one

If you tried Duplicati back on the 2.0 branch and got burned by the database, give Kopia a look before writing off the whole category.

FAQ

What is the best free self-hosted backup app? For most people, restic is the best free self-hosted backup app. It is BSD-licensed, runs on every major desktop OS from a single binary, encrypts client-side with AES-256, and supports local disk, SFTP, and every major object store. If you want a graphical interface instead of a terminal, Kopia is the free pick.

Is cloud sync a backup? No. Cloud sync mirrors your current file state to a provider. If you delete a file, ransomware encrypts it, or the provider disables your account, the sync client happily reflects that state back to your other devices. A backup keeps versioned snapshots you can restore from a point in time, on storage the sync provider cannot reach.

What is the 3-2-1 backup rule? Three copies of your data, on two different media, with one copy off-site. In practice, that means the original on your desktop, one backup on a local NAS or external drive, and one backup at a remote location such as an object store, a friend’s house, or a second NAS. Any of the tools on this list can serve as one leg of that setup.

Which self-hosted backup app has the best deduplication? restic, Kopia, BorgBackup, and Duplicacy all use content-defined chunking, which is the modern standard and gives excellent dedup ratios on real workloads. Duplicati does variable-block deduplication that is close but not identical. rsnapshot and UrBackup use hard links, which deduplicate whole unchanged files but not partial changes inside a file.

Can I back up my Windows PC to a Linux server? Yes, and it is a common setup. restic, Kopia, Duplicati, Duplicacy, and Veeam Agent all run on Windows and can write to a Linux server over SFTP or SMB. UrBackup goes further: install its Windows client and its Linux server, and the server pulls image and file backups automatically.

Do I still need cloud backup if I self-host? Usually yes, at least for the most important data. Self-hosted backup protects against accidental deletion, ransomware on the desktop, and drive failure. It does not protect against a fire, theft of the whole home lab, or a lightning strike that takes out the NAS and the desktop together. A small encrypted repository on a cheap object store like Backblaze B2 covers the off-site leg for a few dollars a month.