User guide
Rabun Git is a git forge you run on a machine you own: SSH remotes, users and roles, merge requests, and a small CI runner.
Rabun Git is a git forge you run on a machine you own: SSH remotes, users and roles, merge requests, and a small CI runner. There is no website.
If you know git clone, git commit, and git push, start at the top and follow the pages in order. Each page has copy-paste examples (git.example.com, user ada, repo ada/website).
Contents
- What Rabun Git is — how this compares to GitHub and a plain git remote
- Install — build the
rabun-gitcommand - Start the forge — pack-and-push or manual
init/serve, then first admin and key - Set up a remote repository — create
owner/name, addorigin, first push or clone - Users and roles — add people, register keys, grant and revoke
read/write/admin - Everyday git — clone, branches, protected
main/master - Merge requests — propose, review, fast-forward merge
- CI workflows —
.rabun/workflowson push, tag, and request - Command reference — CLI and SSH cheat sheet
- Compared to GitHub — feature and
ghcommand gap analysis
Operators who need on-disk layout, ACL internals, or systemd: architecture. Ubuntu pack/push: deploy Ubuntu.
Two jobs you will do
| Job | Start here |
|---|---|
| Put an existing or new project on the forge | Remote repository (after the server is up) |
| Let teammates in and control who can push | Users and roles |
Clone URL shape used throughout:
ssh://git@git.example.com:2222/ada/website.git
Forge commands from this machine (key copy registers the first admin key over host SSH):
rgit remote add origin git@git.example.com
rgit origin key copy ada --admin
rgit origin repo list
-
What Rabun Git is
Rabun Git is a git forge you run yourself.
-
Install
Install the rabun-git command on the server (the machine that will host repositories).
-
Start the forge
Replace ada with your login and git.example.com with the hostname or IP of the machine that will store repositories.
-
Set up a remote repository
This is the usual first goal: a repository on the forge that other machines can clone and push to.
-
Users and roles
Rabun Git has no sign-up page.
-
Everyday git
Once a remote repository exists and you have a role, daily work is normal git.
-
Merge requests
A merge request is “please fast-forward master (or main) to this branch.” There is no web form.
-
CI workflows
Rabun Git can run shell commands on the server when someone pushes a branch, pushes a tag, or opens/updates a merge request.
-
Command reference
rgit and rabun-git are the same program.
-
Compared to GitHub
rgit covers the git-hosting core: remotes, users and keys, path ACL, fast-forward merge requests, and in-repo shell CI.
-
rabun-git architecture
How the forge is put together (layout, ACL, systemd).
-
Ubuntu deploy
rabun-git is a systemd unit plus a release archive on an x86_64 (or aarch64) Ubuntu host.
-
Contributing content
Page schema for humans and coding agents adding docs to this site.