Selfhosted backup solution with GUI

https://lemm.ee/post/8636856

Selfhosted backup solution with GUI - lemm.ee

I have a confession to make. I’ve been working in IT for about 6/7 years now and I’ve been selfhosting for about 5. And in all this time, in my work environment or at home, I’ve never bothered about backups. I know they are essential for every IT network, but I never cared to learn it. Just a few copies of some harddisks here and there and that is actually all I know. I’ve tried a few times, but I’ve often thought the learning curve to steep, or the commandline gave me some errors I didn’t want to troubleshoot. It is time to make a change. I’m looking for an easy to learn backup solution for my home network. I’m running a Proxmox server with about 8 VMs on it, including a NAS full of photos and a mediaserver with lots of movies and shows. It has 2x 8TB disks in a RAID1 set. Next to that I’ve got 2 windows laptops and a linux desktop. What could be a good backup solution that is also easy to learn? I’ve tried Borg, but I couldn’t figure out all the commandline options. I’m leaning towards Proxmox Backup Server, but I don’t know if it works well with something other than my Proxmox server. I’ve also thought about Veeam since I encounter it sometimes at work, but the free version supports only up to 10 devices. My plan now is to create 2 backup servers, 1 onsite, running on something like a raspberry pi or an HP elitedesk. The other would be an HP microserver N40L, which I can store offsite. What could be the perfect backup solution for me?

I use rclone and the gui https://rclone.org/gui/ in my proxmox environment.

That said, the backup itself is still initiated via batch script.

GUI

Web based Graphical User Interface

Rclone

I use rclone as well and was in your position not long ago (looking for a non complicated backup solution). Landed on rclone based on feedback and what I read online. Spent about an hour reading rcl one’s documentation and built a script to do the backups daily.

OP if you go the rclone route, I can share my template script with you to get you started.

The script is pretty simple: makes sure there’s a logging file created on the system ahead of time, timestamps, the actual backup job, error checking, notification via discord (success or failure) and log output to the file created above.

Maybe Kopia is what you are looking for? It’s opensource and has a GUI:

“Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.”

GitHub - kopia/kopia: Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included.

Cross-platform backup tool for Windows, macOS & Linux with fast, incremental backups, client-side end-to-end encryption, compression and data deduplication. CLI and GUI included. - kopia/kopia

GitHub
That seems cool! but it is not centrally managed, right?
Sorry, I’m not fully aware of that. I’m currently in a similar position like you, and Kopia is one of the things I going to try out :)
You could do pull based backups with a central kopia instance and remote machines as described here: github.com/kopia/kopia/issues/1636#issuecomment-1…
Pull-based backups ? · Issue #1636 · kopia/kopia

Hello, I would like to replace an old backup strategy with a tool like kopia, but I am unsure if my use case can be handled. I have 2 servers and would like to use one of them as a "backup server" ...

GitHub
Repository Server

Fast and Secure Open-Source Backup Software for Windows, Mac, and Linux

BareOS is a great open source option. The GUI is a webUI but you also have a powerful console on the shell if you need to script.
Open-Source Enterprise Backup Software

Open-source backup software for Linux, Windows, macOS and more. Enterprise-grade encryption, GDPR-compliant, RBAC, tape/WORM.

Bareos
(Baculum for Bacula)[www.bacula.lat/baculum/?lang=en]
Baculum 9 – Graphical Bacula Configuration, Administration and API

Baculum (bacula-gui) is the official web graphic interface of the Bacula project (bacula.org). Version 9 contains a configuration module that allows the backup

Bacula Latin America & Brazil

If you are not afraid of Windows: Veeam B/R (Community Edition)

It has a nice GUI and works very well.
GUI is well explained, knowledgebases for Hyper-V, VMware and some others.
The Agent can be deployed manually and linux agents can write to a repository.
I don’t think Proxmox is a supported hypervisor.

Community Edition is free
I think up to 10 workloads

Maybe take a look.

You could try to get hands on a NFR license that has the premium features with a 1 year runtime

I’ll second Veeam. It only runs on Windows but as far as backup and recovery software goes it’s the gold standard and the competition is not even close.

You ever had it back up a proxmox cluster? I’d say it’s suboptimal advice to go for veeam for this use-case.

Yeah - i use veeam for backups at work, but we run VMware, some MS servers and use rsync or bacula for our Linux boxes. A great product.

Veeam is amazing for sure. Used it for years in workloads big and small. “It just works” is their tagline for a reason.
Unlike Betgesdas :p

I’ve been working in IT for about 6/7 years now and I’ve been selfhosting for about 5. And in all this time, in my work environment or at home, I’ve never bothered about backups.

That really is quite a confession to make, especially in a professional context. But good for you to finally come around!

I can’t really recommend a solution with a GUI but I can tell you a bit about how I backup my homelab. Like you I have a Proxmox cluster with several VMs and a NAS. I’ve mounted some storage from my NAS into Proxmox via NFS. This is where I let Proxmox store backups of all VMs.

On my NAS I use restic to backup to two targets: An offsite NAS which contains full backups and additionally Wasabi S3 for the stuff I really don’t want to lose. I like restic a lot and found it rather easy to use (also coming from borg/borgmatic). It supports many different storage backends and multithreading (looking at you, borg).

I run TrueNAS, so I make use of ZFS Snapshots too. This way I have multiple layers of defense against data loss with varying restore times for different scenarios.

Do you use restic to move the backups to remote on it’s own? Or are you using rclone to move your restic repo to remote?
I don’t use rclone at all, restic is perfectly capable to backup to remote storage on its own.
Maybe Nextcloud?!

It has been a while since I used proxmox, but I seem to recall it having an option to export the VMs on a periodic cafamce to an external host built in? That would solve for the configured system backup issue if it still exists. Mote directly, my preffered method is in keeping the payload objects (photos/files) on a separate dedicated storage NAS with RAID and automatic zfs dataset snapshots to accomodate for both a disk failing and the ‘oh shit, I meant to delete the file not the whole folder!’ type of losses. For a NAS in my case I use xigmanas, which is the predicessor to corenas, fka freenas largely because it doesn’t try to be too fancy, just serve the drives and provide some ancilary services around that job.

So long version short, what particularly are you trying to back up? The pictures or the service hosting them?

Yeah, Proxmox has a built in backup utility. I use it for nightly backup of all VMs and LXCs to cifs share on my NAS.
I guess I just want to make sure the pictures are safe. Next to that I’ll backup my /home/user folder, but next to that it’s not that hard to rebuild my VMs.

Simplest way there is to keep them on a dedicated storage system that you don’t even need to access directly for the most part. If there’s one thing I learned over many years playing with servers is that the end user/admin is more a hazard to your data than the system failing ever could be. A raid01 will automatically protect you if one of the hardrives happens to die without thinking about it, but will just as quickly delete everything on both drives if you run the wrong command.

My nightmare example from personal experience, installing a new pair of drives with the intent to migrate to them.

Install drive ‘b’, rsync -a dive ‘a’ to ‘b’ Wipe ‘a’ for storge/disposal, Install new drive ‘a’ to original slot of ‘a’ Start second rsync intended to be ‘b’ to ‘a’ but forget to change drives and instead sync the new blank ‘a’ to ’ b’ with the only copy of your data…

Fortunately I managed to get most everything back with some data recovery tools, but that second after pressing enter and watching it all go away was wrenching. Since then I’ve become a lot more aware of having a certain level of protection against human error.

Have you tried Vorta (based on Borg) or Kopia yet? I’m not sure what your exact requirements are but those two have similar featuresets and they’re very easy to use.
Home

A Desktop Backup Client for Borg Backup

Vorta for BorgBackup
I like BackupPC, it’ll do what you want but it may be more challenging to learn than some of these other options.

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

Fewer Letters More Letters LXC Linux Containers NAS Network-Attached Storage RAID Redundant Array of Independent Disks for mass storage

[Thread #152 for this sub, first seen 20th Sep 2023, 15:35] [FAQ] [Full list] [Contact] [Source code]

Decronym

Good on you to finally get into it, I switched to something systematic only very recently myself (previously it was "copy important stuff to an external HDD whenever I think of it").

The one thing that I learned (luckily the easy-ish way) is: test your backup. Yes, it's annoying, but since you rarely (ideally never!) will need to restore the backup it's incredibly easy to think that everything in your system is working and it either never having worked properly or it somehow started failing at some point.

A backup solution that has never been tested via a full restore of at least something has to be assumed to be broken.

Which reminds me: I have to set up the cron job to periodically test a percentage of all backed up data.

I decided to use Kopia, btw, but can't really say if that's well-suited for your goals.

I use the daily/weekly/monthly pattern for machine backups:

  • Use a rsync job to copy whatever you deem important from the target machine to a backup dir. Run this once a day.
  • Once a week, sync the daily dir to a weekly dir.
  • Once a month, take a snapshot of the weekly dir as a tarball.

In addition to that I use Pika Backup (it’s a very user friendly GUI for Borg) to make incremental backups of the monthly dir to a couple of external HDDs.

This is what I do but with btrfs snapshots. Would also like to have off site backups though.
I use Restic, for the incremental backups and deduplication. I feel tar balls won’t factor in those two cases.
If you use a backup solution that does incremental/deduplication you can probably skip tarballs. Tarballs are useful for example in long term archiving to optical media (burning Blu Rays).
I backup Proxmox VMs and templates onto my NAS, and from there into the cloud. If you don’t want the cloud maybe auto backup to an external drive and keep it somewhere safe (out of range of a possible disaster to your home)
I use kopia CLI, but the easiest one I came across with simple GUI is duplicati
Kopia actually has a GUI option too! I use it all the time! I pair it with a docker webdav server running on my server pc across the room.
GitHub - micromata/dave: A totally simple and very easy to configure stand alone webdav server

A totally simple and very easy to configure stand alone webdav server - micromata/dave

GitHub

Maybe have a look at urbackup. Gui, “centrally managed”, free…

And please, as mentioned in another comment, have a look at Borgmatic. It makes Borg really easy to use and has some super handy features. Super easy backups to multiple locations by just adding a line in the config… And I just love the healthchecks integration. Set and forget until either healthchecks notifies you of a problem or you really need to recover data.

I’m gonna look into that! Borgmatic looks a lot easier than borg, but that CLI still scares me. I like working with Linux commands but something new like backups makes me want to click in a GUI to set everything up.
When I got started I preferred GUI apps too. The more you use them, the more you get to appreciate cli tools. Meanwhile I find cli tools better, they are just more precise and have a good way to push you to use them correctly. Also they are mostly well documented and even offer “on the fly” help with -h flags or alike… also the get started page of Borgmatic is really well written. Just play around with it ;)
Use Veeam. If you hit the limit just configure it to send to a SMB share and you need no licens.

Kopia is my favorite by far!

It’s super fast and has tons of great features including cutting-edge encryption and several compression options.

It has a GUI and is cross-platform.

It can do both cloud and local/network backups

Kopia

Fast and Secure Open-Source Backup Software for Windows, Mac, and Linux

You can use syncthing to get files from all of your devices to your central server and then use something like FreeFileSync to backup the entire folder structure to another drive.