Kopia vs Restic for Homelab Backups: A GUI With Snapshots or a Scriptable CLI

Ellis Crowe

Ellis Crowe

October 15, 2026

Kopia vs Restic for Homelab Backups: A GUI With Snapshots or a Scriptable CLI

Every homelab backup conversation eventually reaches the same two names for the “real” backup, the encrypted, deduplicated copy of everything that matters, sent somewhere other than the house. Restic is the veteran: a single command-line program trusted by a huge community for years. Kopia is the newer arrival with the same core ideas, plus a desktop app, a server mode and built-in scheduling. Both are free, open source and fast. Both will protect your data.

I treat backups as restore rehearsals rather than green checkmarks, and I have lost data in both directions: a restic repository I could not unlock because the password was in the backup, and a snapshot pruned away by a retention policy I wrote while tired. Neither was the tool’s fault. The difference between Kopia and Restic is mostly about how they fit into your life, and therefore how likely you are to set them up correctly and keep checking them.

The engine underneath is similar

Start with what they share, because it is most of the important part. Both split your files into chunks and store each unique chunk only once, so daily backups of a mostly unchanged folder add very little. Both encrypt everything before it leaves your machine, so the storage provider sees nothing useful. Both compress data. Both support local disks, SFTP servers and S3-compatible object storage such as Backblaze B2 or Wasabi, plus anything rclone can reach. Both keep many point-in-time snapshots you can browse and restore from.

In other words, on the fundamentals they are close. The choice is about everything around the engine: interface, scheduling, multi-machine setups, maturity and how restores feel.

Kopia Restic
Interface CLI, desktop app (KopiaUI), web UI in server mode CLI; web UIs from third-party projects
Scheduling Built in, through policies External: cron, systemd timers or a wrapper
Retention Policies set per folder or globally forget with flags, run on a schedule
Multiple machines Repository server with per-user access Shared repository or REST server
Maintenance Runs automatically prune and check run by you
Maturity and community Younger, active Older, very large community
Windows and desktops Friendly, with a native app Works well, command line only

Restic: one sharp tool, many wrappers

Restic is deliberately small. It does backups, snapshots, restores, retention and verification, and leaves everything else to you. You run restic backup from a cron job or systemd timer, run restic forget --prune to apply retention, and run restic check occasionally to verify the repository. That simplicity is a big part of why people trust it: there is very little magic, and years of community use have smoothed the rough edges.

The cost is that you build the system around it. Scheduling, logging, notifications on failure, and retention all live in your own scripts. A healthy ecosystem fills the gaps: resticprofile and autorestic manage configuration and schedules, and Backrest adds a web interface for browsing snapshots and setting up jobs. If you like assembling small tools, restic is a pleasure. If you would rather not, it can feel like a kit.

One operational detail to know: restic uses locks in the repository, and a backup interrupted at the wrong moment can leave a stale lock that blocks the next job until it is cleared. It is easy to handle, and your monitoring should catch it, but it surprises people the first time.

A terminal on a dark screen showing a backup command running with progress output

Kopia: the batteries included

Kopia aims to be a complete backup application rather than a tool you script. Policies define what gets backed up, how often, how long snapshots are kept, what is ignored and how data is compressed, and they can differ per folder. Snapshots run on schedule from the policy itself. Maintenance, the cleanup that removes unused data, runs automatically. KopiaUI gives desktop users a graphical way to set all of this up, browse snapshots and restore files.

Kopia’s repository server mode is especially useful in a homelab with several machines. One server holds the repository, and each laptop or server connects with its own credentials, backing up to the shared, deduplicated store without any machine holding the master keys to everything. Doing the equivalent with restic is possible but takes more assembly.

The trade-off is maturity. Kopia is younger, and while it is widely used and actively developed, it has a smaller community and fewer years of edge cases behind it. For many people that is fine; for a backup tool, some prefer the most battle-tested option available.

What restores actually feel like

The only backup that matters is the one you can restore, so test the restore path, not just the backup job.

With restic, you list snapshots, then restore a whole snapshot or specific paths to a target folder. You can also mount the repository as a filesystem with restic mount and copy files out with normal tools, which is the friendliest way to find one lost file. Restore performance has improved considerably in recent versions.

With Kopia, you can restore from the command line, browse snapshots in KopiaUI and restore individual files with a few clicks, or mount a snapshot as a folder. For non-technical family members, or for you on a stressful day, a graphical restore is genuinely valuable.

Both depend on one thing you must protect separately: the repository password. Store it somewhere that will survive the loss of every machine you back up, such as a password manager with offline access or a printed copy in a safe place. And rehearse a full restore onto a blank machine at least once, because restoring onto a blank laptop when the NAS is already dead is the test that tells you whether your backup really works.

A person restoring files from a backup on a laptop

Monitoring your backups

Backups fail silently. A changed password, a full destination disk or an expired cloud key and the job stops, while everything else seems fine. Whichever tool you use, add a check that something reports success on schedule.

With restic, the usual approach is to ping a dead man’s switch, such as Healthchecks.io, at the end of each successful run, and a failure URL when it fails. Kopia can run actions before and after snapshots, which can do the same. Either way, a missed ping means an alert. And verify the data itself periodically, with restic check including a sample of data, or Kopia’s verification commands, because a successful backup job does not prove the stored data is readable.

The broader discipline is covered in why green backup dashboards still fail, and it applies equally to both tools.

Where the off-site copy should go

Both tools can write to the same destinations, so the storage choice is independent of the software. The common homelab options are a second disk at home (fast, but not off-site), a NAS or small server at a friend’s or relative’s house reached over SFTP or a VPN, and S3-compatible object storage from a provider such as Backblaze B2, Wasabi or Cloudflare R2.

Object storage is the easiest off-site option, but the bill has two parts people forget: storage per terabyte per month, and the cost of downloading data back out during a restore. Providers price those differently, and a full restore after a disaster is exactly when egress fees bite. The trade-offs are laid out in Cloudflare R2 vs Backblaze B2 for homelab backups.

Whatever you choose, follow the familiar 3-2-1 idea: three copies of important data, on two kinds of storage, with one off-site. Kopia and restic both make the off-site leg cheap and encrypted; the discipline of having it is up to you.

Laptops, servers and the family’s computers

The machines you back up shape the choice.

Servers and headless boxes suit either tool. Restic’s single binary and scripting fit naturally into Docker hosts and systemd timers. Kopia works just as well from the command line, with the advantage of policy-based scheduling built in.

Desktops and laptops, especially Windows and macOS machines used by people who will never open a terminal, favour Kopia. KopiaUI runs in the system tray, schedules itself and lets someone restore a deleted document without calling you.

Several machines into one store favours Kopia’s repository server, which gives each device its own access while deduplicating across all of them.

If you are also weighing other tools, restic is often compared with Borg rather than Kopia, and restic vs Borg for a 4 TB NAS covers that decision.

Choosing the one you will actually maintain

For a homelab admin who likes small, scriptable tools, already runs cron or systemd timers, and wants the most battle-tested option, restic remains the safe choice. Pair it with a wrapper such as resticprofile or Backrest if you want configuration in one place or a web interface, and with a dead man’s switch so failures reach you.

For a household with laptops as well as servers, for anyone who wants scheduling, retention and maintenance handled without scripts, or for a setup where several machines back up into one shared repository, Kopia is the more complete package, and its graphical restores make it far more usable for everyone else in the house.

Whichever you pick, the tool matters less than three habits: a copy off-site, the repository password stored somewhere outside the backup, and a restore you actually practise. Get those right, and either one will be there on the day you need it.

More articles for you