GOTWEBD(8)
okay so bestie, this is the GOTWEBD(8) page from the System Manager's Manual β it's literally the manual for gotwebd, and we're gonna make it make sense. π
β¨ NAME β¨
gotwebd β Game of Trees FastCGI server for web browsers. that's the whole name and yes it ate. π
πΈ SYNOPSIS πΈ
gotwebd [-dnv] [-D macro=value] [-f file]
π DESCRIPTION π
okay so 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. no cap, it's built for that exact vibe. π¦
gotwebd provides the following options:
-D macro=valueβ define macro to be set to value. Overrides the definition of macro in the configuration file. π-dβ do not daemonize. Send log output tostderr. π«Ά-f fileβ set the path to the configuration file. If not specified, the file/etc/gotwebd.confwill 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 rungotwebdas 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 thegotwebd.conf(5)configuration file. πΈ - Git repositories must be created. These repositories may reside anywhere in the filesystem and must be readable, but should not be writable, by the user
gotwebdruns as. The default location for repositories published bygotwebdis/var/www/got/public. π
bestie warning: readable, yes; writable, absolutely not. that part is important, fr fr. π
- If the Git repositories served by
gotwebddo not receive changes from committers directly, they need to be kept up-to-date with a mechanism such asgot fetch,git-fetch(1), orrsync(1), scheduled bycron(8). π¦
π¦ FILES π¦
/etc/gotwebd.confβ default location of thegotwebd.conf(5)configuration file./var/www/got/public/β default location for Git repositories served bygotwebd. This location can be adjusted in thegotwebd.conf(5)configuration file./var/www/bin/gotwebd/β directory containing statically linkedgot(1)helper programs which are run bygotwebdto read Git repositories./var/www/htdocs/gotwebd/β directory containing HTML, CSS, and image files used bygotwebd./var/www/run/gotweb.sockβ default location for thegotwebdlistening socket./var/run/gotweb-login.sockβ default location for thegotwebdlogin socket./var/run/gotwebd.sockβ default location for thegotwebdcontrol socket.gotwebctl(8)can be used to send commands togotwebdvia this socket./tmp/β directory for temporary files created bygotwebd.
π₯ EXAMPLES π₯
Example configuration for httpd.conf(5) which forwards all requests to gotwebd:
types { include "/usr/share/misc/mime.types" }
server "example.com" {
listen on * port 80
fastcgi socket "/run/gotweb.sock"
}
The following httpd.conf(5) example makes multiple gotwebd instances reachable via the same HTTP server under different URL path prefixes, with the first reached via the default Unix-domain socket, and the second configured to listen on localhost port 9000:
server "example.com" {
listen on * port 80
location "/gotwebd-unix/*" {
fastcgi socket "/run/gotweb.sock"
}
location "/gotwebd-tcp/*" {
fastcgi socket tcp localhost 9000
}
# Redirect requests which lack a trailing slash:
location "/gotwebd-unix" {
block return 302 \
"$REQUEST_SCHEME://$HTTP_HOST$REQUEST_URI/"
}
location "/gotwebd-tcp" {
block return 302 \
"$REQUEST_SCHEME://$HTTP_HOST$REQUEST_URI/"
}
}
When requests do not arrive at the root URL path β/β, the URL path prefix also needs to be set in the gotwebd.conf(5) file corresponding to each instance of gotwebd. Following on from the previous example:
gotwebd.conf(5) for the Unix-domain socket instance of gotwebd:
listen on socket "/var/www/run/gotweb.sock"
server "example.com" {
gotweb_url_root "/gotwebd-unix"
}
gotwebd.conf(5) for the TCP instance of gotwebd:
listen on localhost port 9000
server "example.com" {
gotweb_url_root "/gotwebd-tcp"
}
π SEE ALSO π
got(1), git-repository(5), gotwebd.conf(5), httpd.conf(5), gotwebctl(8), httpd(8)
π AUTHORS π
- Omar Polo
<op@openbsd.org> - Stefan Sperling
<stsp@openbsd.org> - Tracey Emery
<tracey@traceyemery.net>
okay bye bestie β this was the Debian build, dated $Mdocdate$, for GOTWEBD(8). slay, no cap. π
β¨π
π¦ where this page comes from
- alpine 3.24: got-doc 0.126-r0 Β· ISC
- nixos 26.05: got 0.125
- Copyright (c) 2020 Stefan Sperling
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms