Forge · Help Back to Forge

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

TaskHow
New accountAsk an administrator. Self-registration is off.
Forgotten passwordAsk an administrator to reset it.
Private repositoriesDefault for new repositories. Change under Settings → Visibility.
Teams and permissionsCreate 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.

Workflows resolve reusable actions such as 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

BehaviourWhy
Avatars are uploads onlyNo third-party avatar service is contacted. Until you upload one you get a generated initial.
Self-registration is disabledAccounts are provisioned by administrators.
Spell-check uses a local dictionaryEnglish 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.