Using Forge
Internal git hosting. Everything runs on our own servers — no external service holds our code, and the software makes no outbound calls except where noted below.
Getting your code in
Create a repository from the New repository page, then push an existing project into it:
git remote add origin http://forge.rhost.rw/<you>/<repo>.git git push -u origin main
Cloning works over HTTP or SSH. SSH uses a non-standard port:
git clone ssh://git@forge.rhost.rw:2222/<you>/<repo>.git
Add your public key under Settings → SSH keys first, or SSH will refuse the connection.
Pull requests
Push a branch, then open a pull request from the repository's Pull requests tab. You get the commit list, the combined diff, per-line comments, reviews, and a merge button. Merge strategy (merge commit, squash, or rebase) is chosen per repository under Settings → Pull requests.
Access and accounts
| Task | How |
|---|---|
| New account | Ask an administrator. Self-registration is off. |
| Forgotten password | Ask an administrator to reset it. |
| Private repositories | Default for new repositories. Change under Settings → Visibility. |
| Teams and permissions | Create an organisation, then grant teams read / write / admin per repository. |
CI (Actions)
Workflows live in .forge/workflows/ or
.github/workflows/ and use the familiar YAML syntax. A runner must
be registered by an administrator before anything executes.
actions/checkout from the public internet. If this instance is
later sealed off, those actions get mirrored into local repositories and
referenced by their full URL instead — an administrator will handle that
migration.Large files
Git LFS is enabled. Track big binaries rather than committing them directly:
git lfs track "*.psd" git add .gitattributes
API
A token from Settings → Applications authenticates REST calls. Interactive documentation is at /api/swagger.
curl -H "Authorization: token <token>" http://forge.rhost.rw/api/v1/user/repos
What this instance does not do
| Behaviour | Why |
|---|---|
| Avatars are uploads only | No third-party avatar service is contacted. Until you upload one you get a generated initial. |
| Self-registration is disabled | Accounts are provisioned by administrators. |
| Spell-check uses a local dictionary | English only. The dictionary is served from this machine rather than fetched from a CDN. |
Who to ask
Administrators can be reached through the usual internal support channel. Include the repository name and the exact error text — the server log line matching your request is what makes a problem quick to find.