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
14nbmaxbranchesperprojectbeforerejectinganonymous: 10
15activesftp: false
16execconf:
17 baremetal:
18 enabled: false
19 bwrap:
20 enabled: true
21 user: nobody
22 uid: 65534
23 group: nogroup
24 gid: 65534
25 robind: []
26 bind: []
27 container:
28 enabled: false
29 bin: podman
30 ssh:
31 enabled: false
32 hosts:
33 - user: myUSer
34 address: 127.0.0.1
35 port: 22
36 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.