GitRoot

Craft your forge, Build your project, Grow your community freely

Root Repository

The first time you run GitRoot, it will create a root repository. This repository, called root by default, is where forge configuration live.

This is a repository like any other, you can add files with git. In a mono-repo instance like gitroot.dev, you can manage the instance from this single repo.

However, it contains more internal files than standard repositories.

Another slight difference is how you can access the repositories. The root repository is accessible through ssh://yourdomain.tld/ or ssh://yourdomain.tld/root/. A non-root repository is accessible only via ssh://yourdomain.tld/repo1/. The same rules apply for web access.

ForgeConfig.yml

This file is where your main config live:

 1################################################################################
 2# /!\ A restart of GitRoot is need before change in this file take effect. /!\ #
 3################################################################################
 4
 5sshaddr: 0.0.0.0:4545 # The ssh address to listen to with ip:port form
 6httpaddr: 0.0.0.0:4546 # The http address to listen to with ip:port form
 7domainname: localhost
 8externalsshaddr: ssh://localhost:4545/
 9externalhttpaddr: http://localhost:4546/
10rootcommitername: GitRoot
11rootrepositoryname: root
12defaultbranch: main
13nbworkerinbackground: 3
14execconf:
15  baremetal:
16    enabled: false
17  bwrap:
18    enabled: true
19    user: nobody
20    uid: 65534
21    group: nogroup
22    gid: 65534
23    robind: []
24    bind: []
25  container:
26    enabled: false
27    bin: podman
28  ssh:
29    enabled: false
30    hosts:
31      - user: myUSer
32        address: 127.0.0.1
33        port: 22
34        publickey: ssh-ed25519 AAAAC3NzaC1...

Repositories.yml

This file contains all repositories of your forge. With the root repository itself.

1root:
2  kind: normal
3  defaultbranch: main
4  owners: []
5  forkurl: ""

More about this file in repositories file documentation.