I'm using Hetzner, Terraform, GitHub Actions, Docker to automate the build and release of an app I'm planning on launching (..eventually). I use Terraform to provision the Hetzner VMs with Docker running on them, in there I have a container with the GitHub Runner that pulls Flutter and creates a nice build environment as well as release env (using Fastlane), then it uses the latest code, compiles, releases to Play store. Works like a charm, initially it was just a Docker container on a Pi, but the main reason I went that route was being able to move it whenever/wherever.