GOTWEBD.CONF(5) File Formats Manual GOTWEBD.CONF(5)

gotwebd.confgotwebd configuration file

gotwebd.conf is the run-time configuration file for gotwebd(8).

The file format is line-based, with one configuration directive per line. Any lines beginning with a ‘#’ are treated as comments and ignored.

Macros can be defined that are later expanded in context. Macro names must start with a letter, digit, or underscore, and may contain any of those characters, but may not be reserved words. Macros are not expanded inside quotes. For example:

lan_addr = "192.168.0.1"
listen on $lan_addr

Paths mentioned in gotwebd.conf must be relative to /var/www, the chroot(2) environment of httpd(8).

The available global configuration directives are as follows:

path
Set the path to the chroot(2) environment of httpd(8). If not specified then /var/www will be used.
number
Run the specified number of server processes.
on | off
Controls whether the servers will listen on unix sockets by default.
path
Set the path to the default unix socket.

At least one server context must exist for gotwebd(8) to function. In case no server context is defined in the configuration file, a default server context will be used, which listens on a unix socket at /var/www/run/gotweb.sock and uses default parameters for all applicable settings.

A server context is declared with a unique name, followed by server-specific configuration directives inside curly braces:

server name {...}

gotwebd(8) is compatible with TLS Server Name Indication (SNI), provided the name of a server defined in gotwebd.conf corresponds to the name of a server defined in httpd.conf(5).

The available server configuration directives are as follows:

path
Set the path to a custom Cascading Style Sheet (CSS) to be used. If this option is not specified then a default style sheet will be used.
address port number
Configure an address and port for incoming FCGI TCP connections. Valid address arguments are hostnames, IP4 addresses, IPv6 addresses, and network interface names. The port argument may be number or a service name defined in services(5).

May be specified multiple times to build up a list of listening sockets. However, a given combination of address and port may only be used by one server.

If a network interface name is given as address argument then gotwebd(8) will obtain the list of addresses on this interface only on startup. Any future changes to the address configuration of the interface will be ignored.

Set the path to an image file containing a logo to be displayed.
url
Set a hyperlink for the logo.
number
Set the maximum amount of commits displayed per page.
number
Set the maximum amount of repositories gotwebd(8) will work with.
number
Set the maximum amount of repositories displayed on the index screen.
path
Set the path to the directory which contains Git repositories that the server should publish.
on | off
Set whether to display the repository only if it contains the magic git-daemon-export-ok file.
on | off
Toggle display of last repository modification date.
on | off
Toggle display of clone URLs for a repository. This requires the creation of a cloneurl file inside the repository which contains one URL per line.
on | off
Toggle display of the repository description. The description file in the repository should be updated with an appropriate description.
on | off
Set whether to display the repository owner. Displaying the owner requires owner information to be added to the config file in the repository. gotwebd(8) will parse owner information from either a [gotweb] or a [gitweb] section. For example:
[gotweb]
owner = "Your Name"
Set the displayed site link name for the index page.
string
Set the displayed site name title.
string
Set the displayed site owner.
on | off
Toggle display of the site owner.
on | off
Enable or disable use of unix sockets.
path
Set the path to the unix socket used by the server.

These are the currently configurable items for gotwebd(8) with their default values.

#
# gotwebd options
# all paths relative to /var/www (httpd chroot jail)
#

prefork 1

server "localhost-unix" {
	repos_path "/got/public"
	unix_socket_name "/run/gotweb.sock"

	got_site_name   "my public repos"
	got_site_owner   "Got Owner"
	got_site_link   "repos"

	logo   "got.png"
	logo_url   "https://gameoftrees.org"

	# on by default
	#show_site_owner  off
	#show_repo_owner  off
	#show_repo_age  false
	#show_repo_description no
	#show_repo_cloneurl  off
	# off by default
	#respect_exportok  on

	#max_repos   100
	#max_repos_display  25
	#max_commits_display  50
}

# Example server context for FCGI over TCP connections:
#server "localhost-tcp" {
#	repos_path "/got/public"
#	unix_socket		off
#	listen on 127.0.0.1 port 9000
#	listen on ::1 port 9000
#}

/etc/gotwebd.conf
Default location of the gotwebd.conf configuration file.

got(1), httpd.conf(5), services(5), gotwebd(8), httpd(8)

November 8, 2022 OpenBSD 7.2