Question.
The container is reproducible. Container configuration is in version control. That leaves you with the volumes mounted into the container, which you back up like any other disk.
Dunno why ppl are down voting you, this is 100% the way.
Architecture as code is amazing, being able to completely wipe your server, re-install fresh, and turn it on and it goes right back to how it was is awesome.
GitOps version controlled architecture is easy to maintain, easy to rollback, and easy to modify.
I use k8s for my entire homelab, it has some initial learning curve but once you “get it” and have working configs on github, it becomes so trivial to add more stuff to it, scale it up, etc.
borg
Mine is 3-pronged:
- btrfs + snapper takes care of most level-1 situations, and I take a snapshot of every
/root
change, plus one nightly/home
snapshot. but it’s pretty demanding on disk space, and doesn’t handle drive failure; so I also do - restic + USB drive, which I can cram way more snapshots onto, so I keep a couple of weeks of daily snapshots, one monthly snapshot for a year, and one snapshot per year, going back several years. I currently have snapshots from my past 3 computers on one giant drive. However, these drives can also fail, and won’t protect me from burglary or house fire, so I also do
- restic + BackBlaze. I just take a nightly snapshot for every computer and VM I manage. My monthly B2 bill is around $10. The VMs don’t change much, and I only snapshot data and config directories (only stuff I can’t spin up fairly quickly in a container, or via a simple install command), so most of the charge comes from a couple of decades of amateur digital photography, and an archive of all our digital music (because I’ll be damned if I’m going to spend weeks re-digitizing all those CDs).
The only “restore entire system b/c of screwing up the OS” is #1. I could - and probably should, make a whole disk snapshot to a backup drive via #2, but I’m waiting until bcachefs is more mature, then I’ll migrate to that, for the interesting replication options it allows which would make real-time disk replication to slow USB drives practical; I’d only need to snapshot /efi
after kernel upgrades, and if I had that set up and a spare NVME on hand, I could probably be back up and running within a half hour.
I just stop my containers and tar gzip their compose files, their volumes and the /etc folder on the host
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 |
NFS | Network File System, a Unix-based file-sharing protocol known for performance and efficiency |
k8s | Kubernetes container management package |
4 acronyms in this thread; the most compressed thread commented on today has 16 acronyms.
[Thread #931 for this sub, first seen 21st Aug 2024, 08:35] [FAQ] [Full list] [Contact] [Source code]