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
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.