| GOTD(8) | System Manager's Manual | GOTD(8) |
NAME¶
gotd — Game of
Trees Daemon
SYNOPSIS¶
gotd |
[-dnv] [-f
config-file] [-s
secrets] |
DESCRIPTION¶
gotd is a Git repository server which
listens on a unix(4) socket and relies on its companion
tool gotsh(1) to handle Git-protocol communication over
the network, via ssh(1).
The Git repository format is described in git-repository(5).
gotd requires a configuration file in
order to run. The configuration file format is described in
gotd.conf(5).
It is recommended to restrict ssh(1) features
available to users of gotd. See
gotsh(1) for details.
The options for gotd are as follows:
-d- Do not daemonize. Send log output to stderr.
-fconfig-file- Set the path to the configuration file. If not specified, the file /etc/gotd.conf will be used.
-n- Configtest mode. Only check the configuration file for validity.
-ssecrets- Set the path to the secrets file. If not specified, the file /etc/gotd-secrets.conf will be used if it exists.
-v- Verbose mode. Verbosity increases if this option is used multiple times.
FILES¶
- /etc/gotd.conf
- Default location of the configuration file.
- /var/run/gotd.sock
- Default location of the unix socket which
gotdis listening on. This path can be configured in gotd.conf(5).
EXAMPLES¶
Create an empty repository to be served by
gotd, ensuring that it can only be accessed by the
_gotd user:
# mkdir -p
/git/myrepo.git# chmod 700
/git/myrepo.git# chown _gotd
/git/myrepo.git# su -m _gotd -c 'gotadmin init
/git/myrepo.git'Add the new repository to gotd.conf(5) granting
read-write access to the flan_hacker user account, and restart
gotd:
# cat >> /etc/gotd.conf
<<EOFrepository 'myrepo' {path '/git/myrepo.git'permit rw flan_hacker}EOF# rcctl restart gotdThe flan_hacker user can now populate the empty repository with
got send.
SEE ALSO¶
got(1), gotsh(1), git-repository(5), gotd.conf(5) gotd-secrets.conf(5), gotctl(8)
AUTHORS¶
Stefan Sperling <stsp@openbsd.org>
CAVEATS¶
At present, gotd cannot serve repositories
that use the sha256 object ID hashing algorithm because
gotd does not yet support version 2 of the Git
network protocol.
gotd cannot honour the SIGHUP signal
because the /etc/gotd-secrets.conf file is only
readable by root, and gotd runs entirely without
root privileges after initial startup. The configuration of a running
gotd instance can be reloaded by running
gotctl reload as root.
| August 16, 2025 | Debian |