4
votes
What programming/technical projects have you been working on?
This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?
I've been working on my backup solution for my homelab (and other files) and have finally figured it out (for now).
Almost all of my containerized apps have an associated database container, so I'm including a db-backup container in each app's pod (using podman, not docker). This scheduled backup places a db backup in a directory on the local server, then runs rsync in a post-script to copy the application's app files to the same backup directory. (Apps without a db will have a similar rsync script run, still finalizing logistics for that one.) I can use an excludes file to ensure the rsync backup doesn't include SQLite database files and other temp objects that don't need backup.
Now that everything will be in a single backup directory, I will be using rdiff-backup to copy from the local server to my NAS, in a synchronized way that leverages snapshots.
On my NAS, I will be running an instance of Plakar to periodically snapshot this backup. Then, once every so often (perhaps every 3 days?) I will sync to a plakar instance that uses Cloudflare R2 as storage, so I have an encrypted cloud backup that I can selectively restore files from, if needed.