I use docker containers for a rails app and send backups of my db to S3 with restic. Docker compose files and DR scripts are in my repo. If Hetzner goes down I’ll run them on a VPS from any of the million providers.
Deploys push a docker container to dockerhub, then ssh into Hetzner and pulls them.
If you want the ease of git push deploys similar to Heroku then use Dokku.
Everyone should remember how long it took Heroku to tell you your environment variables were stolen in a breach and how they were not transparent at all through the whole process.