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: 15

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

This Bluetooth naming mistake is one you’ll want to avoid
Blog
This Bluetooth naming mistake is one you’ll want to avoid
June 1, 2026
Today’s NYT Mini Crossword Answers for April 24
Blog
Today’s NYT Mini Crossword Answers for April 24
April 24, 2026
No one likes Spotify's new icon, but it really doesn't matter and this is why
Blog
No one likes Spotify's new icon, but it really doesn't matter and this is why
May 18, 2026
New leak suggests these upcoming flagship killers will only kill your wallet
Blog
New leak suggests these upcoming flagship killers will only kill your wallet
April 29, 2026

Leave a Reply Cancel reply

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

Recent Posts

  • 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
  • If you’re a Galaxy S23 user, proceed with caution when updating to One UI 8.5
  • The Samsung Galaxy S26 Ultra has dropped to its best price ever
  • The time the x86 emulator team found code so bad that they fixed it during emulation

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