Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

vole
Clone

Read only, no credentials:

https://rodent.software/git/vole.git

Write over SSH with a registered key:

git clone ssh://git@0.0.0.0:2222/vole.git

A free and open-source forge that lives in your Git repo.

Blame · packaging/vole.toml

Line attribution on main · 47 line(s)

3b39a84c
Keenan Nemetz
14d ago
1 # Configuration for a packaged instance. The package installs this at
2 # /etc/vole/vole.toml, and `vole admin init --config /etc/vole/vole.toml` uses it
3 # to create the repository tree and user database it names.
4 data_dir = "/var/lib/vole/data"
5
642e5994
Keenan Nemetz
14d ago
6 # Read-only: the web UI and anonymous git clone. Leave HTTPS off and terminate
7 # TLS in a proxy in front of this address, keeping the Host header intact because
8 # site requests are routed by hostname.
3b39a84c
Keenan Nemetz
14d ago
9 http_addr = "127.0.0.1:8080"
10
642e5994
Keenan Nemetz
14d ago
11 # Or let Vole obtain and renew its own certificates with ACME. Setting https_addr
12 # enables it; http_addr then answers ACME challenges and redirects to HTTPS, so it
13 # must be reachable on port 80. public_url below (or acme_domains) must name a
14 # host that resolves to this server. Ports 80 and 443 need the service unit to
15 # grant CAP_NET_BIND_SERVICE.
16 # https_addr = ":443"
17 # http_addr = ":80"
18 # acme_email = "admin@example.com"
19 # acme_domains = ["forge.example.com"]
20 # acme_cache_dir = "/var/lib/vole/data/acme"
21 # acme_directory_url = "https://acme-staging-v02.api.letsencrypt.org/directory"
22
3b39a84c
Keenan Nemetz
14d ago
23 # The only write transport. Identity is the SSH key presented at handshake.
24 # 2222 keeps this listener off sshd's port; open it in the firewall.
25 ssh_addr = "0.0.0.0:2222"
26
27 # Where a browser reads this instance. Set it to the canonical https URL to
28 # enable passkey login; WebAuthn is bound to this origin. The CLI also uses it to
29 # print the page for something it just created. Trailing slash is ignored.
30 # public_url = "https://forge.example.com"
31
ed181212
Keenan Nemetz
13d ago
32 # Development only: sign loopback browser requests in as this account without a
33 # passkey. dev_only acknowledges that this instance is a development instance;
34 # without it dev_login is refused, as it is with https_addr or a non-loopback
35 # public_url.
36 # dev_only = true
37 # dev_login = "you"
38
3b39a84c
Keenan Nemetz
14d ago
39 # Let anyone create an account by registering a passkey. New accounts have no
40 # repository-specific access; each repository's default role still applies.
41 # Off unless you are running an instance that wants public contributions.
42 # open_registration = true
5b814e99
Keenan Nemetz
14d ago
43
44 # The instance-wide role a self-registered account gets. It applies to public
45 # repositories only; an instance admin still has admin access to every
46 # repository. Use "contribute" for an open-source instance. "admin" is refused.
47 # open_registration_role = "contribute"