First public release of GitShelf — a self-hosted, read-only Git repository browser.
Point it at a folder of bare/mirror repos (e.g. your nightly git clone --mirror
GitHub backups) and read them like GitHub: file tree, rich previews
(code, Markdown, PDF, images, audio/video, CSV, JSON), commit history and
diffs, blame, code search, and exported issues / PRs / releases — all read in
place, zero copy.
Install
Download the archive for your platform below, extract, and run:
cp gitshelf.example.toml gitshelf.toml # edit repo_source.path
./gitshelf -config gitshelf.toml # http://127.0.0.1:8888Auth is on by default — the first visit creates an admin account.
Verify downloads against SHA256SUMS.
Highlights
- In-place, zero-copy reading of existing
*.gitmirrors; config-driven. - Pluggable render pipeline (code/Markdown/PDF/images/media/CSV/JSON).
- Markdown: sanitized inline HTML, relative image/link resolution, code-copy buttons.
- Branches/tags, diffs (incl. merge commits), compare, blame,
git grep. json-exportmetadata for issues/PRs/releases — accepts both bare-array and
GitHub GraphQL connection ({nodes:[…]}) shapes.- Auth on by default (bcrypt, first-run setup wizard); strict CSP;
option-injection-safe git calls.