GitRoot

Craft your forge, Build your project, Grow your community freely
 1<!--
 2SPDX-FileCopyrightText: 2026 Romain Maneschi <romain@gitroot.dev>
 3
 4SPDX-License-Identifier: CC-BY-SA-4.0
 5-->
 6
 7# Root Repository
 8
 9The first time you run GitRoot, it will create a `root repository`. This repository, called `root` by default, is where forge configuration live.
10
11This is a repository like any other, you can add files with git. In a `mono-repo` instance like [gitroot.dev](https://gitroot.dev), you can manage the instance from this single repo.
12
13However, it contains more internal files than standard repositories.
14
15Another 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.
16
17## ForgeConfig.yml
18
19This file is where your main config live:
20
21```yml
22################################################################################
23# /!\ A restart of GitRoot is need before change in this file take effect. /!\ #
24################################################################################
25
26sshaddr: 0.0.0.0:4545 # The ssh address to listen to with ip:port form
27httpaddr: 0.0.0.0:4546 # The http address to listen to with ip:port form
28domainname: localhost
29externalsshaddr: ssh://localhost:4545/
30externalhttpaddr: http://localhost:4546/
31rootcommitername: GitRoot
32rootrepositoryname: root
33defaultbranch: main
34nbworkerinbackground: 3
35execconf:
36  baremetal:
37    enabled: false
38  bwrap:
39    enabled: true
40    user: nobody
41    uid: 65534
42    group: nogroup
43    gid: 65534
44    robind: []
45    bind: []
46  container:
47    enabled: false
48    bin: podman
49  ssh:
50    enabled: false
51    hosts:
52      - user: myUSer
53        address: 127.0.0.1
54        port: 22
55        publickey: ssh-ed25519 AAAAC3NzaC1...
56```
57
58## Repositories.yml
59
60This file contains all repositories of your forge. With the root repository itself.
61
62```yml
63root:
64  kind: normal
65  defaultbranch: main
66  owners: []
67  forkurl: ""
68```
69
70More about this file in [repositories file documentation](./repositories_file.md).