It's my go to solution as well. If I can't get a reasonable docker capable host out of the box (which you'd get in AWS and gcloud), use ansible to create one. I had to do this in Telekom cloud last year and dusted off some ansible stuff I had from previous projects and got it done. I sometimes combine it with using packer for building vm images. That avoids repeated overhead of having to run ansible, which can be a bit slow.
For application deployment, I use simple scripts that restart docker compose via shh that we can run from Github actions. Ansible is overkill for that.
For application deployment, I use simple scripts that restart docker compose via shh that we can run from Github actions. Ansible is overkill for that.