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.
deleted by creator
That’s the rub. I keep seeing that it’s easy and the best way and folks fawn over Restic and Borg (for seemingly good reasons) so I start to read the documentation on setting it up and my eyes glaze over and I’m lost because there are assumptions made regarding the readers knowledge beforehand. Which is fair in this context. Even you example, which thank you by the way, assumes I know scripting. Yeah…not so much. I will look into what you’ve written and linked though. Maybe it’ll click for me. I also looked at some of the wrappers for both Borg (borgmatic) and Restic (autorestic) and it’s still over my head. I get the general concept that instead of writing it all down, you’re creating configs ahead of time, similar to your script example. But I’m not at a spot where I can dive into that sort of thing yet. I need a ELI5, for CLI stuff I guess…
deleted by creator
All valid points and I appreciate the input. My frustration comes from a lot of the tutorials online for these types of tools already start ahead of my knowledge. I have some terminal knowledge and have been messing around on. VPS I rent just so that if things go really bad, I’m not hosing my production server. And that’s been ok. I’ve even stood up an instance of Miniflux and Wallabag for my Read It Later stack and it’s working really well. I absolutely do need to learn more about using terminal though. I’ve always had good success learning by doing, with a project in mind rather than reading courses only and using their course materials for the actual practice portions. And example would be using digital footage of my own kids to learn video editing instead of the sample clips that came with the book/online class.
I’ll take you up on the offer for help. I will try again and when I get stuck I’ll shout. I appreciate your input!
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
Look into restic, it doesn’t do exactly what you want, but it’s a very powerful backup server and standalone tool
edit typo
Before clicking the link I thought there was a new restic clone/fork out there…
My bad! Thanks for pointing out my typo
Deja dupe is a good gui for this
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).
Maybe you can sync all the clients with syncthing? It’s cross platform and can be configured to keep copies on all of your machines.
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.
The last time I used it was months ago but I think I remember a client sided option to receive only.
deleted by creator
kiss (keep it simple )
rclone will do all that cli. Just write a simple script. Write once, run many.
Take the time to learn rclone cli and it will simplify everything
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 found this guide on reddit that goes over borg and rclone. Seems to walk you through most of it. https://www.reddit.com/r/unRAID/comments/e6l4x6/tutorial_borg_rclone_v2_the_best_method_to/
But, i’m also making assumptions on your technical abilities, which I guess is part of the problem you have with cli tools…
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