| GOTWEBD(8) | System Manager's Manual | GOTWEBD(8) |
NAME¶
gotwebd — Game of
Trees Git FastCGI repository server for web browsers
SYNOPSIS¶
gotwebd |
[-dnv] [-D
macro=value]
[-f file] |
DESCRIPTION¶
gotwebd is a FastCGI server program which
can display the contents of Git repositories via a web browser. The program
has been designed to work out of the box with the httpd(8)
web server.
gotwebd provides the following
options:
-Dmacro=value- Define macro to be set to value. Overrides the definition of macro in the configuration file.
-d- Do not daemonize. Send log output to stderr.
-ffile- Set the path to the configuration file. If not specified, the file /etc/gotwebd.conf will be used.
-n- Parse the configuration file, report errors if any, and exit.
-v- Verbose mode. Verbosity increases if this option is used multiple times.
Enabling gotwebd requires the following
steps:
- The httpd.conf(5) configuration file must be adjusted to
run
gotwebdas a FastCGI helper program. The EXAMPLES section below contains an appropriate configuration file sample. - httpd(8) must be enabled and started:
# rcctl enable httpd # rcctl start httpd
- Optionally, the run-time behaviour of
gotwebdcan be configured via the gotwebd.conf(5) configuration file. - Git repositories must be created at a suitable location inside
the web server's chroot(2) environment. These
repositories should
not be writable by
the user ID shared between
gotwebdand httpd(8). The default location for repositories published bygotwebdis /var/www/got/public. - Git repositories served by
gotwebdshould be kept up-to-date with a mechanism such asgot fetch, git-fetch(1), or rsync(1), scheduled by cron(8).
FILES¶
- /etc/gotwebd.conf
- Default location of the gotwebd.conf(5) configuration file.
- /var/www/got/public/
- Default location for Git repositories served by
gotwebd. This location can be adjusted in the gotwebd.conf(5) configuration file. - /var/www/bin/gotwebd/
- Directory containing statically linked got(1) helper
programs which are run by
gotwebdto read Git repositories. - /var/www/htdocs/gotwebd/
- Directory containing HTML, CSS, and image files used by
gotwebd. - /tmp/
- Directory for temporary files created by
gotwebd.
EXAMPLES¶
Example configuration for httpd.conf(5):
types { include "/usr/share/misc/mime.types" }
# one gotwebd reachable at http://gotweb1.example.com/
server "gotweb1.example.com" {
listen on * port 80
root "/htdocs/gotwebd"
location "/" {
fastcgi socket "/run/gotweb.sock"
}
}
# hosting multiple gotwebd instances on the same HTTP server:
# http://gotweb2.example.com/gotwebd-unix/
# http://gotweb2.example.com/gotwebd-tcp/
server "gotweb2.example.com" {
listen on * port 80
location "/gotwebd-unix/" {
fastcgi socket "/run/gotweb.sock"
}
location "/gotwebd-unix/*" {
root "/htdocs/gotwebd"
request strip 1
}
location "/gotwebd-tcp/" {
fastcgi socket tcp 127.0.0.1 9000
}
location "/gotwebd-tcp/*" {
root "/htdocs/gotwebd"
request strip 1
}
}
SEE ALSO¶
got(1), git-repository(5), gotwebd.conf(5), httpd.conf(5), httpd(8)
AUTHORS¶
Omar Polo
<op@openbsd.org>
Stefan Sperling
<stsp@openbsd.org>
Tracey Emery
<tracey@traceyemery.net>
| August 16, 2025 | Debian |