Hey everyone,
I just set up a self-hosted GitHub Actions runner in my homelab and wrote about it in my self-hosted blog! This is my second blog entry, so I would really appreciate any feedback or suggestions to help improve my writing is more than welcome.
You can check out the post here: https://cachaza.cc/blog/02-self-hosted-ci-cd
That’s cool. Any reason why you went with a self-hosted GitHub runner over making the full jump to a self-hosted Gitea instance + runner?
This, but Forgejo instead of Gitea.
I tried this last week and it wasn’t very good. It was poorly documented, and when it failed out on a simple java CI, I just went back to act.
Yeah, the Forgejo documentation was dreadful when I last looked, it really showed its origin as a Gitea replacement for people already using (and understanding) Gitea.
deleted by creator
My main reason was honestly laziness 😅 . I just went with what was quickest to set up. I also hadn’t realiced I could have two upstreams on my repo: one public-facing on GitHub (because I’m still in college and trying to build in public for future job opportunities) and another self-hosted on Gitea or GitLab for CI/CD.
That actually sounds like a great setup, so I’ll definitely look into it now. Thanks for the recommendation!
I have a project on Forgejo and I’ve needed to set up a runner for compilation but I’ve been very confused so far on how everything works.
All I’ve been able to do is make a runner and connect it to my Forgejo instance, but I didn’t really know what to do from there.
I like that. I tried to get Actions in Forgejo working and that was a dead-end. So I’ve been using act manually.
Appreciate the writeup.
Thanks!!
I have a docker forgejo runner for CI with Codeberg. Where did you get stuck?
actions/setup-java@v4 would fail trying to find the java setup script at Forgejo’s runner source repo, and apparently it wasn’t there when I went to look. I’ll look at it another time when maybe all the backend is put together or there’s a way I can host the actions locally so I’m not relying on outside sources that might pollute my CI output.
With both Gitea and Forgejo, sometimes you need to hardcode the action URL, like:
https://github.com/actions/setup-java@v4
I followed where it was going and it was a forgejo repo where there were some action sets but not that one. I figured they were using their own sets and hadn’t gotten around to java yet.
Well, yeah, thats why I’m saying if the action isn’t available directly from Forgejo, just write out the full action URL like the example in my last comment and pull it directly from GitHub. Most/all of the actions you’re pulling from Forgejo are originally forked from GitHub anyway. ¯\_(ツ)_/¯
Ah, OK. Now I get your point.
Why? It’s free if you don’t setup a custom runner and those cover your areas.
Basically, I just wanted to tinker and learn. Self-hosting my CI/CD pipeline seemed like an interesting approach, and I wanted to explore how it all works beyond just using GitHub’s free runners.
1500 action minutes/mo limit.