Skip to content

ABC Tool

  • Home
  • About / Contect
    • PRIVACY POLICY
calebwin/gitgres: My private GitHub on Postgres · GitHub

calebwin/gitgres: My private GitHub on Postgres · GitHub

Posted on May 1, 2026 By safdargal12 No Comments on calebwin/gitgres: My private GitHub on Postgres · GitHub
Blog


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. It can run locally. It can run colocated with many agents. Consistency and throughput are fully tunable.

Everything – git objects, refs, packfiles, deltas, tokens, PRs, issues,
comments, reviews, reactions, teams, orgs, events – lives in Postgres rows.
The server holds nothing on disk.

# 1. Build (binaries land in ./target/release/{gitgres,git-remote-gitgres,gitgres-server}).
cargo build --release --bins

# 2. Have a Postgres reachable. e.g.
export GITGRES_DB='host=localhost user=postgres dbname=gitgres'

# 3. Apply the schema (idempotent).
gitgres init

# 4. Boot the server. The first --bootstrap-token mints an admin token tied
#    to user 'demo' that you can use to manage everything else through the API.
gitgres serve --listen 0.0.0.0:8080 --bootstrap-token "$(openssl rand -hex 32)"

# (For TLS:)
gitgres serve --listen 0.0.0.0:8443 
              --tls /path/cert.pem /path/key.pem 
              --bootstrap-token TOKEN

gitgres serve env vars:

Var Default Purpose
GITGRES_DB — Postgres conn string if --db not given
GITGRES_PUBLIC_URL https://gitgres.local Base URL the API returns in Repository.cloneUrl
GITGRES_WORKERS 8 HTTP worker threads
GITGRES_GQL_LOG unset If set, logs every GraphQL request body to stderr

Plain git (smart HTTP, v1 + v2):

git clone http://gitgres.host/owner/repo.git
git push http://demo:TOKEN@gitgres.host/owner/repo.git main

gh CLI:

# Print a hosts.yml entry, drop into ~/.config/gh/hosts.yml:
gitgres gh-config --host gitgres.host --token TOKEN --user alice

# Or pipe a token into gh:
echo "TOKEN" | gh auth login --hostname gitgres.host --with-token

gh pr create / list / view / merge / comment / close / diff
gh issue create / list / view / comment / close
gh repo create / view / clone / fork / list
gh release create / list / view
gh label create / list / edit / delete
gh api /repos/owner/repo/...   # the entire REST surface

Custom remote helper (alternative to smart HTTP, also works):

git clone "gitgres::host=db.local user=u dbname=gitgres#owner/repo"

Currently, GitGres doesn’t support search, actions/workflows/runs/secrets, SSH transport, webhooks, HTTP/2, web UI.

[1] https://www.alibabacloud.com/help/en/polardb/polardb-for-postgresql/cold-data-archiving/

[2] https://www.pgcache.com/



Source link

Post Views: 16

Post navigation

❮ Previous Post: Google’s got a mysterious new experimental AI app for Android
Next Post: Senators ban themselves from prediction markets after candidates bet on own races ❯

You may also like

Oura Ring 5 Health Radar Feature
Blog
Oura Ring 5 Health Radar Feature
May 28, 2026
Gemini could soon show you exactly how much AI you use
Blog
Gemini could soon show you exactly how much AI you use
April 28, 2026
Google just made it ridiculously easy to 3D print your own Fitbit Air bands
Blog
Google just made it ridiculously easy to 3D print your own Fitbit Air bands
June 3, 2026
Ryanair under investigation for charging parents to sit with their kids
Blog
Ryanair under investigation for charging parents to sit with their kids
June 11, 2026

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Recent Posts

  • Fox wants to take over your TV — and the tech inside it
  • Today’s NYT Mini Crossword Answers for June 16
  • These are the countries moving to ban social media for children
  • Today’s NYT Connections: Sports Edition Hints, Answers for June 16 #631
  • Chipmaker Nvidia seeks to raise over $25B in first bond deal since 2021

Recent Comments

  1. Last Chance for Big Savings on TechCrunch Disrupt 2026 Tickets – Artiverse on 5 days left: Save up to $410 on Disrupt 2026 passes

Archives

  • June 2026
  • May 2026
  • April 2026

Categories

  • Blog

Copyright © 2026 ABC Tool.

Theme: Oceanly News by ScriptsTown