Works well and is pretty straightforward.
Just set up a CI pipeline for PHP projects with a forgejo runner last week. Tried many approaches, ended up with a simple debian VM. Runner works well with docker images inside the VM, quite a flexible setup. Found this easier and better than my last tries a few years ago with gitlab, which always felt quite bloated.
I also published a blog post today about this whole journey: https://sarah-robin.com/blog/we-just-wanted-to-deploy-a-webs...