←back to thread

231 points fanf2 | 7 comments | | HN request time: 2.076s | source | bottom
Show context
kayson ◴[] No.41830564[source]
Other popular choices include borg, duplicity, and duplicati.

After evaluating these and others mentioned in the comments, I ended up using borg with borgmatic to define homelab backups with yaml files that are version controlled in gitea and deployed using ansible.

I also use duplicity to back up my sister in laws storefront website to backblaze. I've been quite happy with both.

https://borgbackup.readthedocs.io/en/stable/

http://duplicity.gitlab.io/

https://docs.duplicati.com/en/latest/

replies(8): >>41830658 #>>41830915 #>>41831061 #>>41831170 #>>41831332 #>>41831517 #>>41832118 #>>41834010 #
1. sph ◴[] No.41831332[source]
I chose restic because borg was slow, buggy and an unwieldy pile of Python, not the best language for deployment on heterogeneous Linux systems.

Restic on the other hand is slow, but never crashed on me and is distributed as a single binary.

The only thing I dislike about restic is that it does not have a simple config file where you define your backup settings. Instead I had to write my own backup.sh that I deploy everywhere on my personal and production machines. Paired with rsync.net for storage and healthchecks.io for notifications.

replies(5): >>41831821 #>>41831842 #>>41832187 #>>41832825 #>>41836933 #
2. ray_v ◴[] No.41831821[source]
Honest question, but do you not consider environment variables to be a form of simple config?

https://restic.readthedocs.io/en/stable/040_backup.html#envi...

3. abhinavk ◴[] No.41831842[source]
Use resticprofile or autorestic for configuration file or to run scheduled jobs.
4. 3eb7988a1663 ◴[] No.41832187[source]
I write Python day to day, but even I use Restic for the single binary. I take a lot of comfort in being able to keep the backup executable adjacent to the backup blobs. While I believe Borg now has a distributable binary, Go has it in its blood to make easy deployment without tricks.
5. kayson ◴[] No.41832825[source]
I've never had any crashing or big issues with borg, and it's generally considered to be faster than restic. I'm sure there are more recent benchmarks, but as of Dec 2022, borg wins by a fair bit [1].

For installation, I set up a dedicated virtualenv for borg and borgmatic installation then symlink into /usr/local/bin. This is also automated with ansible and has worked on every distro and version I've used. The latest version does require python 3.9.0, but that's already 4 years old.

1. https://github.com/borgbase/benchmarks

replies(1): >>41837524 #
6. crossroadsguy ◴[] No.41836933[source]
> it does not have a simple config file where you define your backup settings.

Will this https://github.com/garethgeorge/backrest/discussions/188 work for you?

Also, I can add directory file to include exclude directly to this config or to separate files as I please and just refer in this config.

7. k_g_b_ ◴[] No.41837524[source]
Agreed on no crashing/issues. I always use the provided Borg "single binary" https://borgbackup.readthedocs.io/en/latest/installation.htm... that unpacks everything into /tmp and naturally is larger than the restic binary. That isn't an issue on my systems.

Restic has no unencrypted mode for reasons - you must use an empty password and additional flag instead. If your backups will already be encrypted in other ways you'll still pay encryption overhead.