Show HN: My Private GitHub on Postgres
GitGres is a private, self-hosted reimplementation of GitHub built on Postgres, designed for teams needing control over cost, latency, and consistency. It stores all GitHub-like data—repositories, issues, PRs, users—in Postgres rows without disk storage, enabling flexible deployment and tuning. The tool supports Git operations via HTTP and a custom remote helper, with setup involving Postgres configuration and running the GitGres server.
- ▪GitGres stores all data in Postgres, eliminating on-disk state.
- ▪It allows tuning cost, uptime, latency, and consistency for private team use.
- ▪Setup requires building the binaries, configuring Postgres, initializing the schema, and starting the server with a bootstrap token.
- ▪The system supports git clone, push, and gh CLI integration but lacks support for search, actions, SSH, webhooks, and a web UI.
Opening excerpt (first ~120 words) tap to expand
GitGres is a starting point for private reimplementations of GitHub optimizied for individual teams' agent needs. GitHub is a fantastic site for sharing code and it is likely how you're viewing this if you're a human. GitGres exists to solve for a few issues: Trading off cost for uptime. GitHub offers free code storage but less-than-stellar uptime. With GitGres, you have the flexibility to use a Postgres DBMS with tiered storage [1] to tune cost while maintaining uptime. Trading off latency for cost. GitHub puts you at the mercy of current system load. With GitGres, just choose your favorite Postgres cache [2]. Trading off consistency for throughput. GitHub is a cloud service. If requests reach GitHub's servers out of order, bad things can happen. GitGres is a server backed by Postgres.
…
Excerpt limited to ~120 words for fair-use compliance. The full article is at Hacker News: Front Page.