Backups, backups, backups. A learning process (and small rant).
TL;DR @ bottom
Over the last year I've dove head first into selfhosting various services and apps on an UNRAID server. It's my first real experience with Linux short of fiddling with a dual boot of Pop!_OS. So that alone has already been quite the ride. Thankfully, UNRAID supports docker compose and has it's own Community App store where there are very few extra steps to get an app to work short of installing dependencies (MariaDB, Postgres, Redis, etc).
I am trying to be militant in my backups of mostly important files. Critical documents and photos, that sort of thing. Right now I have two copies on the same Win10 PC (two different drives) that backup nightly to iDrive. I recently started testing Backblaze Personal as well from the same computer. What I want to do is get to a point where the other Win10 PCs, MacOS laptops, and my yet to be built Linux desktop are all backed up to the server locally, then shuttled off to something like B2 on a nightly basis. Seemingly there is absolutely no consensus on the best cross platform app to backup the various clients. I currently have Time Machine backing up the laptops to the server, but that's it. Nothing else in the house is touching the server outside of Immich pulling photos from phones when we're back on network.
I keep trying to wrap my head around the CLI only options like Restic, Borg, and Kopia but I can't get to a point that I'm confident enough to ensure I'm backed up and safe as far as data integrity. So that led me to apps with GUIs. I've tried UrBackup, BackupPC, KopiaUI, and Duplicacy. That last one is the only one I can get to work reliably and that is backing up server data to B2 right now. I'm still in my trial period for it so nothing set in stone in that regard.
I did see Vorta for Borgbase, but it doesn't have a Win10. UrBackup refuses to work with MacOS for whatever reason. KopiaUI can't see directories on the server which I'm guessing is permissions issues and the client side won't accept an http://ip:port address, instead requiring https and I'm not sure if that's possible to get around. BackupPC I can't get to connect to the clients and that project seems somewhat stale with no updates in the last few years.
I'm comfortable hunting for solutions but seemingly the various support forums have a lot of assumptions in regards to prior knowledge of these products and I'm just not connecting the dots.
TL;DR: I apologize that this is so lengthy, but I'm honestly just not sure what to do at this point. I need (in my mind) the following as a solution:
Compatibility with Win10, MacOS, and Linux clients
Can back up to a local repository on UNRAID
Has a GUI (because I apparently am too stupid for CLI-only)
Would be nice to also backup to remote buckets like B2 or others but I can leverage something like Rclone GUI for that
Anyone have any advice on either solutions or resources I can dig into to accomplish this?
Backing up to a local server and then shunting off to B2 is largely what I do, except I just use a local file share and try not to store much locally. The Windows 10 built in backup works quite well for this. The file share I back up using Duplicati.
I have not used Duplicati at all, so grain of salt. Every time I see it mentioned someone comes along and shares horrible experiences with corrupted backups leaving them unable to restore. Which has made me extremely leery of it. I'll have to research more on that and see whats what.
I did have a problem with this, but it was due to a password manager (possibly Chrome's built-in one which I had a load of passwords duplicated in at one point) auto-filling a hidden field with the wrong password.
The front-end error is backup corrupt, but it's not, it's just the encryption key has been changed at the point of restore. Sort that and error gone.
I have a NextCloud instance running with the client on my phone. The phone backs up all my pictures etc whenever I'm on the LAN and connected to a charger. My instance also accessible via VPN, though not otherwise internet-exposed.
You can also run a client to sync folders from Linux machines, and I'm fairly sure something exists for Windows as well. I don't really use these much as most of what I have on my desktops is either synced to git repositories (for code see) or is easily restored (Steam games+saves).
When setup with the office component, NextCloud allows you to edit documents from within the cloud environment, and there are a bunch of other apps you can install into your instance. It's kinda like a locally hosted instance of M365+OneDrive+More.
My repositories and the NextCloud instance are hosted on a box with SSD's in hardware RAID5, and I also run periodic backups (rsync) to a portable drive which is disconnected when not being used
Yeah, that's the struggle I'm having though. Understanding the CLI-only tools. I've heard great things about it though. I guess it's mostly I'm in over my head so much that I don't even know where to start on learning it since the actual Restic docs start with an unspoken understanding that you know how to script (to an extent).
I did get Syncthing running at one point to test but more as a dropbox sort of replacement. Can you have it only write one way? So the clients would append only? I only did two devices and it was a bit cantankerous to get working, but I eventually got it.
I'm still procrastinating on figuring out the majority of my backup solution, mainly because I get overwhelmed too. But there is a backblaze personal docker template on the Unraid Community App store. You could do one way syncthing and have that backup to backblaze.
The only thing I currently backup offsite is an encrypted archive of my paperless-ngx content. I use rclone for that.
I'll have a look at that link, thank you. I actually did try the Backblaze Personal and it worked really well for about 2 weeks. Then it refused to see the D:\ drive, and no manner of uninstall/purge and reinstall would bring it back. No idea what happened but it scared me enough to back away from that option