For the past couple weeks I've been working on getting a small self hosted server up and running. It's running off a Rasberry Pi 5 + a portable USB 3 hard drive so it's quite small and simple. It runs Alpine Linux and I'm using rootless podman to manage my containers.
I've been writing my own backup system which are all POSIX portable scripts focused around rsync. One script handles chains of rsync commands based on files. One script handles the number of backups and the current script I'm writing handles stopping and starting containers for before and after a backup.
All the scripts are minimal, focus on one specific task and easy to use in scripts. There's lots of focus on making them safe to use with lots of error handling.
After that I need to make a keep alive script because I lose all connectivity to the server sometimes, including ssh. The device isn't frozen, just stops talking for reasons unknown. After that I want to secure my ssh connection with wiregaurd and my server will be secure and low maintenance enough for my liking.
I have my completed scripts up on codeberg.