A short while ago I had a catastrophic drive failure. While I was able to reuse the drive itself, all my files were lost. I have all my important files in git Repos. That includes my whole system configuration. (The beauty of nix.) This was the saving grace. I could recover my setup quite easily, but not as easily as I had hoped. It took up almost an entire day.

I have been looking for a practical backup solution for a while now. Recently I have stumbled on Duplicati. Installing it via nix was as easy as putting services.duplicati.enable = true; into my system configuration.

Setting it up was an awesome experience. I used the local website. The wizard is quite different from what I normally expect from setup wizards. I can really recommend it.

The final decision was where to backup to. I decided that I wanted an offsite backup. The obvious option would have been S3, but since I'm a student I scoured the internet for a cheaper option and settled on Backblaze. Duplicati has built in support for it. Connecting the two was as easy as creating an app token, a bucket and putting that info into the Duplicati site. The whole thing took like three minutes.

The incredible thing: I expect to pay $0.16 for the files stored by my initial backup. It's only 34GB big because I have excluded temporary files and all installed software (nix can install all of it deterministically). I use the B2 service which is the S3 equivalent. Backblaze also offer a managed backup solution that costs $6 per month. Which is a good price I must admits. I comes with easier setup for non-techies and has it's own client you can install. And it offers unlimited storage. But when you take the price of B2, $0.005 per GB per month and do some quick math, you'll find out that for $6 you can have 1.2TB of backed up data. And it'll be quite some time before I pass that amount.

Duplicati is quite good at compression too. The backed up data is about 70GB locally but only 34GB in B2 because of that. It also offers encryption which you should absolutely use. And I trust that one more than Backblaze one's, because a) Duplicati is open source b) I have set it up to use my local GPG installation.

Another advantage of Duplicati is that I avoid vendor lock in with it. I could migrate to any other supported provider without any problems at any time. If I was really paranoid, I could even backup to two different providers. (I am really thinking about that at the prices I would have to pay.) My current data would cost about 83 dollar cents per month in my local region in AWS S3. I am flirting with setting that up.

To wrap up: Set up an offsite backup, because it's easy and cheap. Really, do it now.