Show HN: My Private GitHub on Postgres
calebhwin
36 points
21 comments
May 01, 2026
Related Discussions
Found 5 related stories in 79.4ms across 8,303 title embeddings via pgvector HNSW
- Show HN: Git for AI Agents doshay · 97 pts · May 08, 2026 · 60% similar
- Tell HN: GitHub Having Issues Sytten · 51 pts · March 03, 2026 · 59% similar
- Show HN: Hiraeth – AWS Emulator ozarkerD · 18 pts · April 16, 2026 · 59% similar
- Show HN: SereneUI – A VSCode-inspired, open-source UI for Postgres gnusi · 15 pts · May 07, 2026 · 59% similar
- Show HN: Claude's Code – tracking the 19M+ commits generated by Claude on GitHub phantomCupcake · 13 pts · March 24, 2026 · 58% similar
Discussion Highlights (9 comments)
vishal_ch
Interesting approach using Postgres as the storage layer. Curious how you're handling the object model since Git's content-addressable storage maps pretty differently to relational tables. Are you storing blobs as bytea or going with something like a JSONB tree structure for the commit graph?
hk1337
Interesting idea but what's the use case for this? Why wouldn't I just create a private git server (gitlab, forgejo, etc) just for myself?
throwatdem12311
Just use Fossil at this point.
xp84
"doesn't support: ... Web UI." So, it's a git server with an interesting storage layer? Don't get me wrong, that part sounds like it might have been a ton of work to implement, but I think the web UI (pull requests, etc) is a lot of what Github has won on historically. Basically I don't feel qualified to judge the product itself, but I think positioning it against Github, while popular given the recent hard times, isn't quite correct.
iririririr
just use ssh and git bare.
lisperforlife
This is really cool. PG has zlib compression on TOAST objects so this should still be okay even if you are not storing pack files. I am curious with your choice of hand-rolling pktline, upload-pack and receive pack implementations including rev-walking. Any particular reason you did not want to use libgit2 or something like the gitoxide implementation of pkt-line. Was it performance or is it because you wanted it to be in pure rust? Did you try running this on slightly heavier repository with a lot of commits, refs and objects?
bitbasher
No license?
supriyo-biswas
I've always wanted to write something like this. The problem with Gitlab/Gitea etc. is their reliance on disk storage; which means self hosting them requires that I get the backup story just right. Whereas with this, I could just handle it as part of the database backup process. Having no web UI, at least even a rudimentary one is kinda a bummer though.
solid_fuel
I can't even view the commits because GitHub is claiming I'm over a request rate limit. This is the first time I've even opened GitHub today. Time to knock another 9 off their status page.