I’ve been toying with a side project's POC and for one the moving pieces, I needed a Git server I could self-host.
One option I considered was using something like Gitea, but I eventually preferred something that was easier to customize and maintain by myself, so I needed a lighter solution.
It turns out that Git itself already includes git-http-backend
, a CGI program that allows to interact with a Git repository through the http[s] protocol.
As part of of my homelab journey, I wanted to build a CI/CD pipeline for my apps and wanted to use the GitHub self-hosted runners.
There are basically two installation options: as a stand-alone system, or inside a Kubernetes cluster. I eventually decided to deploy it in my Kubernetes cluster I already had running(more specifically, a K3s cluster), so the runners would spin up on demand and there was no need to have a dedicated VM for that(didn’t like the idea of installing it in a shared VM with other service/s either)