How do you backup personal servers?

I’m a (very) recent self-hoster. NixOS has made things incredibly easy, and suddenly I have forgejo, outline, victoriametrics+grafana and few other services setup, working via cloudflare tunnel absolutely beautifully. The Raspberry Pi 4B is a workhorse, and apparently even with all this idles at 3% CPU and 25% RAM usage.

But, even though it boots from and stores everything on an SSD with ext4, I’m weary of losing all the data stored. Particularly because some of the services are also used by a few friends.

So, all the data is scattered across a few places, under different users, and I’d like to establish a preferably central backup solution. I’d like to understand what options there are and the level of complexity and costs they involve.

Ideally I’d like to have:

  • All configuration by Nix
  • As little $$ expenditure as possible, but I can pay a few bucks a month
  • No babysitting (I understand the parts about testing backups, which I will)

Even if your solution does not fit the criteria, please feel free to mention anyway, TIA!

ZFS/BorgBackup to rsync.net, backlaze B2, tarsnap, cheap object storage, whatever floats your boat.

1 Like

Since you aren’t using ZFS, Restic works quite well to backup several different sources to a common repository on Backblaze B2. I’m paying a couple USD a month for ~350 GB.

I can really recommend borg, it’s a great solution, though potentially a bit overwhelming if you only use the official docs.

If you want to support the development of it while paying for the storage, consider BorgBase instead of one of the big players. They’ve been very reliable for me for years, and actively contribute to borg itself and maintain a borg GUI client called Vorta. Their setup guides are also easy to follow.

I’m now seeing they offer hosting for Restic as well, so that’s nice.

For NixOS config, you can check out the wiki entry though I haven’t tried it out as I didn’t make the switch to NixOS yet.

2 Likes

I use borgbase aswell. Never had problems. I use it with a few personal vms and some notebooks.

I use borg / borgmatic wih Hetzner storagebox. I am satisfied

1 Like

Using a little bit of a mishmash of different things, which absolutely has to be replaced with something proper. Just found out about https://zfs.rent and am absolutely going to give that a go since everything I care about is synced to a NixOS host that uses ZFS.

Disclaimer: I have not actually tried zfs.rent yet.

ZFS snapshots make backups really convenient and efficient. I’m using ZFS with zrepl to take care of (local) snapshotting as well as syncing them to a remote host.

In cases where ZFS isn’t an option I use Borg.