Robert Važan

SpiderOak is still the only reasonable Linux backup

When it comes to backup and sync, there are many options on the market. Except if you need it to work on Linux. Maybe it's because there are so few of us (millions is apparently too little these days). Or maybe it's that we, Linux users, are demanding customers and it's a PITA to serve us. In any case, backup and sync options on Linux are severely limited.

I have been using SpiderOak One on Linux for years. I am quite happy with it. It's client-side encrypted (so-called "zero-knowledge", "no knowledge", or "zero-trust" encryption), so nobody will be going over my stuff. Pricing is reasonable enough to store sizeable collection of family videos. Performance is good enough with lots of small files (photos, source files) as well as many large files (videos).

But I have a few gripes. Firstly, the client is closed-source. And it's reportedly so because it's a spaghetti mess that no one wants to opensource (either to avoid embarrassment or to avoid dealing with third party licenses). The company resides in US and it is a partner of US Department of Defense, which does not exactly inspire trust. Prices are a bit higher than what competition is willing to offer. The whole product seems to be stagnating and the company appears uninterested in its further development, apparently pivoting to space business now.

Anyway, my son is now 12 and it is high time for him to take responsibility for his data. This is a good opportunity to look for alternatives. Before now, I have had SpiderOak One on my desktop and everything else synced to it via Syncthing: my phone, virtual machines, and my son's computers. I do not use sync feature in SpiderOak One, because it wasn't there when I first set it up and I got used to Syncthing. Some of this setup has to change now, so that my son can have digital privacy, which is rather urgently needed at this age.

So I had a look at alternatives and it's a sad sight. Lots of cloud storage is still unencrypted. No one using Linux is going to accept that. Then there are some encrypted cloud storage providers that do not have Linux client. There's pCloud, but it turns out its client-side encryption costs extra and it is limited to one special encrypted folder. Then there's the ridiculously expensive Tarsnap, which is opensource, but the price and the command-line nature make it a non-starter.

The only truly opensource option is to use some opensource backup engine (duplicity, restic, Borg, Rclone), perhaps wrapped by GUI front-end (Deja Dup, Vorta, Restic Browser), and aim it at one of the supported cloud storage APIs, most likely Backblaze B2.

The true opensource path however comes with a lot of issues. Firstly, if it seems complicated to me, how can I ever recommend it to random users? Not everyone using Linux loves to dig into technical problems. Secondly, if something goes wrong (misconfiguration, bug), cloud storage cost can grow insanely high. Backblaze B2 lets you set usage cap, but that's additional complexity and most people wouldn't do it. The main weakness of the opensource solution is vertical integration between cloud, backup engine, and UI. Finally, the opensource option lacks sync and near real-time backup. I am also wondering how would it handle initial backup of 1TB of data.

One can still do regular off-line backups, say to a cheap USB stick, but that's more of a secondary backup to be used in catastrophic situations when both primary storage and the main backup fail. One can also publish stuff as opensource/opencontent, which greatly increases survivability of the content, but that's obviously applicable only to a minority of data that is not private.

So my I recommended my son to go with SpiderOak One for backup and sync for now. Syncthing would be used only to sync photos from the phone to the desktop. I will probably try out opensource backup on something small someday, but right now I am sticking with SpiderOak.