GOTWEBD.CONF(5)

NAME
gotwebd.conf - gotwebd configuration file

DESCRIPTION
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 port 9090

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

GLOBAL CONFIGURATION
The available global configuration directives are as follows:

chroot path
    Set the path to the chroot(2) environment of httpd(8). If not specified then /var/www will be used.

prefork number
    Run the specified number of server processes. gotwebd(8) runs 3 server processes by default.

unix_socket on | off
    Controls whether the servers will listen on unix sockets by default. Listening on unix sockets is the default.

unix_socket_name path
    Set the path to the default unix socket. Defaults to /var/www/run/gotweb.sock.

SERVER CONFIGURATION
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 {...}

The first server defined is used if the requested hostname is not matched by any server block.

The available server configuration directives are as follows:

custom_css path
    Set the path to a custom Cascading Style Sheet (CSS) to be used. If this option is not specified then the default style sheet ‘gotweb.css’ will be used.

listen on address port number
    Configure an address and port for incoming FastCGI connections. Valid address arguments are hostnames, IPv4 and IPv6 addresses. 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.

listen on socket off
    Disable use of unix socket.

listen on socket path
    Set the path to the unix socket used by the server.

logo path
    Set the path to an image file containing a logo to be displayed. Defaults to ‘got.png’.

logo_url url
    Set a hyperlink for the logo. Defaults to https://gameoftrees.org.

max_commits_display number
    Set the maximum amount of commits and tags displayed per page. Defaults to 25.

max_repos_display number
    Set the maximum amount of repositories displayed on the index screen. Defaults to 25. Set to zero to show all the repositories without pagination.

repos_path path
    Set the path to the directory which contains Git repositories that the server should publish. Defaults to /run/gotwebd.sock under the chroot.

respect_exportok on | off
    Set whether to display the repository only if it contains the magic git-daemon-export-ok file. Disabled by default.

show_repo_age on | off
    Toggle display of last repository modification date. Enabled by default.

show_repo_cloneurl 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. Enabled by default.

show_repo_description on | off
    Toggle display of the repository description. Enabled by default. The description file in the repository should be updated with an appropriate description.

show_repo_owner on | off
    Set whether to display the repository owner. Enabled by default. 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"

site_link string
    Set the displayed site link name for the index page. Defaults to ‘Repos’.

site_name string
    Set the displayed site name title. Defaults to ‘Gotweb’.

site_owner string
    Set the displayed site owner. Defaults to ‘Got Owner’.

show_site_owner on | off
    Toggle display of the site owner. Enabled by default.

summary_commits_display number
    The maximum number of commits to show in the summary page. Defaults to 10.

summary_tags_display number
    The maximum number of tags to show in the summary page. Defaults to 3.

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

EXAMPLES
A sample configuration:

    server "localhost" {
    	site_name	"my public repos"
    	site_owner	"Flan Hacker"
    	site_link	"Flan' Projects"
    }

Another example, this time listening on a local port instead of the implicit UNIX socket.

    server "localhost" {
    	listen on socket off
    	listen on 127.0.0.1 port 9000
    	listen on ::1 port 9000
    }

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