Best Self-Hosted Backup Tools

Backups are the least interesting and most important thing on this site.

Updated 2026-10-03 · 8 options compared

The short answer

Restic for the widest choice of storage backends and the simplest mental model. BorgBackup if every target is a machine you control and you want mature, battle-tested deduplication. Kopia if you want a graphical interface and policy management over the same ideas.

Backups are the least interesting and most important thing on this site. They are also the category where self-hosters are most confident and least correct — a RAID array is not a backup, a sync client is not a backup, and a single remote copy you have never restored from is a hope rather than a backup. This list ranks tools on the two things that actually decide whether you recover: whether restore works, and whether you will still be running it in a year.

8 options at a glance

Comparison of the 8 self-hosted options ranked on this page
# Tool License Setup Best for
1 Restic BSD-2-Clause Intermediate The default choice for most people — scriptable, portable, storage-agnostic.
2 BorgBackup BSD-3-Clause Advanced Backing up many machines to storage you own, with maximum deduplication.
3 Kopia Apache-2.0 Intermediate People who want GUI-driven policy and scheduling rather than cron scripts.
4 Backrest GPL-3.0 Beginner Restic users who want a GUI instead of a cron script.
5 Proxmox Backup Server AGPL-3.0 Advanced Proxmox VE users backing up whole VMs and containers.
6 Duplicati LGPL-2.1 Beginner Getting a first real backup running with minimum friction.
7 UrBackup AGPL-3.0 Intermediate Restoring a whole machine, not just its files.
8 Velero Apache-2.0 Advanced Kubernetes clusters that need resource and volume backup together.

Which one should you pick?

The three headline tools implement the same core idea — content-defined chunking, deduplication, encryption, append-only repositories — and differ mainly in ergonomics. Restic is a single Go binary, supports an enormous range of backends, and is the easiest to script. Borg is the oldest and most proven, with excellent deduplication on local and SSH targets. Kopia wraps the same concepts in a policy engine and GUI. Choosing between them matters much less than the rule that follows: any backup you have not restored from is not yet a backup.

What actually decides it

All 8 options, in order

1

Restic

Best for: The default choice for most people — scriptable, portable, storage-agnostic.

A single static binary with no daemon and no database, supporting local disks, SFTP, S3, Backblaze B2, restic's own REST server and dozens more through the same interface. That portability is why it has become the default recommendation: your backup strategy stops being a commitment to a vendor. Deduplication is fast and the repository format is stable and well documented.

Backup & Recovery BSD-2-Clause Intermediate ★ 36,371

Replaces: Backblaze, Duplicati, Arq Backup

Full review of Restic →

2

BorgBackup

Best for: Backing up many machines to storage you own, with maximum deduplication.

Older than restic and more mature, with deduplication that is exceptionally efficient on large repositories and a repository model built around machines you control. It needs Borg installed at the target rather than being a pure client-server tool, which is the main thing that rules it out for cloud-only targets.

Backup & Recovery BSD-3-Clause Advanced ★ 13,796

Replaces: Backblaze, Carbonite, Acronis

Full review of BorgBackup →

3

Kopia

Best for: People who want GUI-driven policy and scheduling rather than cron scripts.

Same core design as the other two with a policy engine on top: per-directory retention, scheduling, bandwidth limits, and a real dashboard. If you prefer to configure backups once in a UI rather than maintain a shell script, this is the most comfortable of the three — at the cost of being a slightly younger project.

Backup & Recovery Apache-2.0 Intermediate ★ 14,233

Replaces: Backblaze, Arq Backup, Duplicati

Full review of Kopia →

4

Backrest

Best for: Restic users who want a GUI instead of a cron script.

A web interface over restic, which is precisely what it looks like: you get restic's repository format and portability, with scheduling, retention and restore browsing in a browser. It solves the most common objection to restic — that everything happens on a command line — without inventing a new backup format.

Backup & Recovery GPL-3.0 Beginner ★ 7,440

Replaces: Duplicati, Arq Backup, Backblaze

Full review of Backrest →

5

Proxmox Backup Server

Best for: Proxmox VE users backing up whole VMs and containers.

If your infrastructure is Proxmox, this is not really optional: it does incremental, deduplicated, verified backup at the virtual-machine level, and restores are far faster than restoring from inside the guest. Verification is built in, which directly addresses the "did it actually work" problem.

Backup & Recovery AGPL-3.0 Advanced ★ 255

Replaces: Veeam, Acronis, Nakivo

Full review of Proxmox Backup Server →

6

Duplicati

Best for: Getting a first real backup running with minimum friction.

The gentlest on-ramp in the category: a web UI, scheduled encrypted deduplicated backups to nearly any destination, and a low barrier to getting a first backup configured today. Its database can be fragile under heavy interruption, so it is not the choice for the most demanding setups — but a backup you actually configured beats a better one you never got around to.

Files & Sync LGPL-2.1 Beginner ★ 15,046

Replaces: Backblaze, Carbonite, Acronis

Full review of Duplicati →

7

UrBackup

Best for: Restoring a whole machine, not just its files.

Client-server with a focus on whole-machine imaging: install an agent, and it handles file-level and image-level backup, including bare-metal restore. That covers the case the others handle awkwardly — the machine itself is dead and you need it back, not just its files.

Backup & Recovery AGPL-3.0 Intermediate ★ 932

Replaces: Acronis, Veeam, Backblaze

Full review of UrBackup →

8

Velero

Best for: Kubernetes clusters that need resource and volume backup together.

Velero, the Kubernetes answer: back up cluster resources and persistent volumes together, so a namespace can be restored coherently rather than as orphaned storage and missing manifests. Restore testing into a scratch namespace is a first-class workflow, which is exactly the discipline the rest of this list keeps insisting on.

Backup & Recovery Apache-2.0 Advanced ★ 10,320

Replaces: Veeam Kasten, CloudCasa, Trilio

Full review of Velero →

How these compare to what you are using now

Other rankings