I keep most of my code on GitHub and I’m happy with the service, but I wanted to also host my repos myself. Using something like GitLab would be excessive, I don’t need any of the project management features, only something that can display git info and lets users browse the source tree. The interface I’ve seen many projects use is cgit. The Linux kernel uses it, so it must be good!
I first needed something that would fetch my repos and keep them updated. I also didn’t want to manually list my repos, I wanted something I could set up to track my username so that it would automatically get new repositories I’d create on GitHub. Of course I ended up making this program myself. I called it giternity, a contraction of git and eternity.
Another advantage of having all code on the same server as this website is that I can easily render project READMEs on the website, for example the one for telegram-send. I think a separate landing page for software is more appropriate for users, as the GitHub page for a project emphasizes code while users are mainly interested in simply using the software.
This effort resulted with all my repos hosted at git.cpu.re, the new giternity package and a tutorial explaining how you can achieve the same.