I use Gitea with Drone CI and it works pretty well: https://www.drone.io/
Some might also prefer the Woodpecker CI fork due to the license: https://woodpecker-ci.org/
I setup Drone as a part of my migration away from GitLab Omnibus and have no complaints so far: https://blog.kronis.dev/articles/goodbye-gitlab-hello-gitea-...
Here's the Drone example in particular: https://blog.kronis.dev/tutorials/moving-from-gitlab-ci-to-d...