Should I use Restic, Borg, or Kopia for container backups?
I'm planning to set up proper backups for my server, but I'm not sure which software to use. I've looked for solutions with encryption, compressed, incremental backups. These seem to be the best options:
I started out with borg. Basically had no problems with it. Then i moved to Restic. For the past few years i am using it, i never experienced any issue with it. Can only recommend Restic.
Borg (specifically Borg Matic) has been working very well for me. I run it on my main server and then on my Nas I have a Borg server docker container as the repository location.
I also have another repository location my on friends Nas. Super easy to setup multiple targets for the same data.
I will probably also setup a Borg base account for yet another backup.
What I liked a lot here was how easy it is to make automatic backups, retention policy and multiple backup locations .
Open source was a requirement so you can never get locked out of your data. Self hosted. Finally the ability to mount the backup as a volume / drive. So if I want a specific file, I mount that snapshot and just copy that one file over.
I've been using Kopia for all my backups for a couple years, both backing up my desktop and containers. It's been very reliable, and it has nice features like being able to mount a backup.
I setup a script to backup my lvm volumes with kopia. About to purchase some cloud storage to send it off site. Been running for a while de duplication working great. Encryption working as far as I can tell. The sync to other repo option was the main seller for me.
Daily backup to backblaze b2 and also to local storage with kopia. Its been running for a year I think, no issues at all. I didnt need a real backup yet, just did some restore tests so far
Was using borg, was a bit complicated and limited, now i use kopia.
Its supposed to support multiple machines into a single repository, so you can deduplicated e.g. synced data too, but i havent tested that yet.
Index of repositories is held locally, so if you use the same repository with multiple machines, they have to rebuild their index every time they switch.
I also have family PCs i wanted to backup too, but borg doesnt support windows, so only hacky WSL would have worked.
But the worst might be the speed of borg.. idk what it is, but it was incredibly slow when backing up.
I’m using Autorestic, a wrapper for Restic that lets you specify everything in a config file. It can fire hooks before/after backups so I’ve added it to my healthchecks instance to know if backups were completed successfully.
One caveat with Restic: it relies on hostnames to work optimally (for incremental backups) so if you’re using Autorestic in a container, set the host: option in the config file. My backups took a few hours each night until I fixed this - now they’re less than 30 minutes.
I use restic with resticprofiles (one config file), notifications via (self hosted) ntfy.sh and wasabi as backend.
Been very happy, runs reliably and has all the features of a modern backup solution, especially like the option to mount backups as if it were a filesystem with snapshots as folders, makes finding that one file easy without having to recover)
restic without any doubt. I use it with S3 backend and SSH copy and it has an excellent performance (with copies of years).
Borg I was using it for a while (to compare) and I do not recommend it, it is not a bad product, but it has a lousy performance compared to restic.
Kopia I didn't know it, but from what I have read about it it seems to be very similar to restic but with some additions to make it pretty (like having ui).
Some people say that Kopia is faster in sending data to the repository (and other people say it's restic), I think that, unless you need ui, I would use restic.
IMHO, Duplicacy is better than all of them at all those things - multi-machine, cross-platform, zstd compression, encryption, incrementals, de-duplication.
The licence is pretty clear - the CLI version is entirely free for personal use (commercial use requires a licence, and the GUI is optional). If you don't like the licence, that's fine, but it's hardly 'disingenuous' when it is free for personal use, and has been for many years.
The paid GUI version is extremely cautious on the auto-updates (it's basically a wrapper for the CLI) - perhaps a bit too cautious. The free CLI version is also very cautious about making sure your backup storage doesn't break.
For example, they recently added zstd encryption, yet existing storages stay on lz4 unless you force it - and even then, the two compression methods can exist in the same backup destination. It's extremely robust in that regard (to the point that if you started forcing zstd compression, or created a new zstd backup destination, you can use the newest CLI to copy data to the older lz4 method and revert - just as an example). And of course you can compile it yourself years from now.