ROUNDUP-SERVER(1)

NAME
roundup-server - start roundup web server

SYNOPSIS
roundup-server [options] [name=tracker home]*

OPTIONS

-C file or --config file
    Use options read from the configuration file (see below).

-n hostname
    Sets the host name or IP address to listen on. Default is localhost (127.0.0.1). Use 0.0.0.0 to listen on all interfaces on the system.

-p port
    Sets the port to listen on (default: 8080).

-d PIDfile
    Run the server in the background and write the server's PID to the file indicated by PIDfile. The -l (or -L) option must be specified if -d is used.

-D  Run the server in the foreground even if -d is used.

-t fork|thread|debug|none
    Control multi-process mode. debug and none are always available. If an invalid mode is specified the server starts in none (also called single) mode. Default fork.

-m max_children
    Set the maximum number of child processes (servers). This value may need to be increased on a heavily loaded site. Default 40.

-l file
    Sets a filename to log to (instead of stdout). This is required if the -d option is used.

-P  If a reverse proxy is used in front of the roundup-server, the server will log the ip address of the proxy, not the client browser. Using -P logs the left most entry in the X-Forwarded-For http header as the IP address of the client. This address will be logged or resolved to a hostname (with -N) and a '+' character will be appended. -P should only be used when the roundup server is accessible only from trusted proxy hosts. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Forwarded-For for details and warnings about using the X-Forwarded-For header.

-L  Have the server log using the Python logger with key roundup.http.

-i file
    Sets a filename to use as a template for generating the tracker index page. The variable "trackers" is available to the template and is a dict of all configured trackers. If you connect to the root of the server (without a tracker name), the default index page is shown. Using -i allows you to customize the index page.

-I header1[,header2,...]
    Pass the header(s) and their values to the backend. This allow-list of header variables can be used by custom code in the tracker or with a tracker's http_auth_header configuration option to allows a front end server to authenticate a user and pass the user identity to roundup.

-s  Enables use of SSL. In most cases, you will want to run a real web server (Apache, Nginx) as a proxy to roundup-server running without SSL. The real web server can filter/rate limit/firewall requests to roundup-server.

-e file
    Sets a filename containing the PEM file to use for SSL. The PEM file must include both the private key and certificate with appropriate header/trailer markers:
        -----BEGIN PRIVATE KEY-----
        -----END PRIVATE KEY-----
    and
        -----BEGIN CERTIFICATE-----
        -----END CERTIFICATE-----
    If no file is specified, a temporary self-signed certificate will be used.

-N  Log client machine names instead of IP addresses (much slower).

-V HTTPVER
    By default roundup-server uses HTTP/1.1 to enable keepalives for faster response. HTTPVER can be set to HTTP/1.0 to disable keepalives.

-u UID
    Runs the Roundup web server as this UID.

-g GID
    Runs the Roundup web server as this GID.

-v or --version
    Print version and exit.

-h or --help
    Print help and exit.

--save-config
    Create configuration file and exit. The old config.ini will be saved to config.bak. Note that this command doesn't attempt to load or verify an existing config.ini. Running this in a tracker home directory will move the existing config.ini to config.bak and replace it with the roundup-server's config.ini. This will make the tracker in the directory fail to start until the original config.ini is restored.

name=tracker home
    Sets the tracker home(s) to use. The name variable is how the tracker is identified in the URL (it's the first part of the URL path). The tracker home variable is the directory that was identified when you did "roundup-admin init". You may specify any number of these name=home pairs on the command-line. For convenience, you may edit the TRACKER_HOMES variable in the roundup-server file instead. Make sure the name part doesn't include any url-unsafe characters like spaces, as these confuse the cookie handling in browsers like IE.

If you connect to the root directory (I.E. you do not include the name component in the URL, the server will display an index page of trackers served by roundup-server if more than one tracker is defined. If only one tracker is defined it will redirect to the tracker.

EXAMPLES

roundup-server -p 9000 bugs=/var/tracker reqs=/home/roundup/group1
    Start the server on port 9000 serving two trackers; one under /bugs and one under /reqs.

If you connect to the server at the root level (http://host:9000/) it will display a list of the available trackers.

CONFIGURATION FILE
See the "admin_guide" in the Roundup "doc" directory.

SEE ALSO
roundup-admin(1), roundup-demo(1), roundup-mailgw(1)

AUTHOR
This manpage was written by Bastian Kleineidam <calvin@debian.org> for the Debian distribution of roundup. The main author of roundup is Richard Jones <richard@users.sourceforge.net>.