GitGen: A static git repository website generator
GitGen is the absolute final answer to my question: can I self-host my Git repositories on a shared host and make them “browsable”? Yes, yes I can.
I approached this solution back-to-front. Why does it need to be dynamic, like Cgit, gitweb, Gitea or even my very own CGI-git? It does not. How about taking an offline approach? If I can make a website generator (PaPy), surely I can try to make something similar for Git?
I did.
GitGen is a deliberately minimalist solution to what has been bugging me for so long. Similar to how a blog generator works, GitGen scans a directory of local Git repositories, extracts metadata and history using standard Git commands, and outputs a fully static website composed of plain HTML and CSS.
It produces a list of all my repos, pages for each repo with file listings, commit histories, as well as diffs for individual commits. If there is a README present, it is converted into HTML for a pretty landing page, just like GitHub or GitLab.
That is literally it. It’s minimalist and so is this blog post!
The code for GitGen is available and running my personal repository.
It’s 2026…let’s take this whole “self-hosting” thing to another level, shall we? And without a VPS in sight.
