For app data, Borg as backup/restore software. Backup data is then stored on Hetzner as an offsite backup - super easy and cheap to setup. Also add healthchecks.io to get notified if a backup failed.
Edit: Backup docker compose files and other scripts (without API keys!!!) with git to GitHub.
It’s literally takes 2 clicks to tunnel via a VPN
That sounds like an excellent solution for web based apps, but what about services like Plex or Nextcloud that use their own client side apps?
I’d recommend Debian Linux. It’s free, stable, has all the software you’ll need with long term support, ton of online resources and communities to learn from. You can start with or without UI.
I write down everything I built so for plus future plans in OneNote. This kind of defeats the purpose of self hosting but I want to keep a written copy complete off site in case if a complete loss. Plus I like OneNote. It’s actually a well designed product. Scripts, docker compose files and such are in GitHub.