Skip to main content

Configuration Options

Configuration File

Xylok reads configuration data from /etc/xylok.conf. After any configuration changes, the configuration should be reloaded by running:

sudo systemctl restart xylok

Common Configuration Options

The most common options are covered below. Other configuration items may appear in your configuration, but should generally only be changed at the direction of Xylok support. A more complete list of Xylok settings can be found by running /opt/xylok/xylok settings.

  • DATABASE_PASSWORD: Password to use to connect to the database for the default "postgres" user. This defaults to a generated password when Xylok is first installed and is unique to your installation. If changed, ensure the Postgres database is updated as well.
  • DEBUG: If True, shows stack traces in error messages to assist with contact Xylok Support. Publicly available installs may wish to disable this for security reasons.
  • HTTP_PORT: Port to listen for HTTP connections on.
  • HTTPS_PORT: Port to listen for HTTPS connections on. If changed from the default 443, automatic redirects from HTTP to HTTPS will no longer work correctly.
  • USE_SMTP: If True, will enable password recovery via email. Use the EMAIL_* options below to configure connection settings:
  • EMAIL_FROM: email address to use for "From" header in emails
  • EMAIL_HOST: SMTP server to connect to.
  • EMAIL_PORT: Port number on SMTP server to use.
  • EMAIL_HOST_USER: Username on SMTP server.
  • EMAIL_HOST_PASSWORD: Password on SMTP server.
  • WORKER_COUNT: For systems with adequate RAM, increasing this may improve performance in some instances. Alternatively, it may be reduced if needed, although it's recommended to not go below 2 workers.
  • ENABLE_UNREADY_VERSIONS: If enabled, will allow the use of benchmark versions that Xylok has not finalized testing commands for. Enabling this may result in scripts that do not work properly.

Security Options

Xylok offers several configuration options to optionally lock down the containers further. First, CPU and memory limits can be imposed. Memory follow the values for the Docker flag --memory, and impose a strict upper limit on the memory that specific container can consume. CPU limits follow the values for the Docker flag --cpu-shares, ranging from 0 to 1024, where 1024 is "100%" of the available CPU and anything less is a proportion of 100%. The exact variable names in the xylok.conf file are below, along with any specific recommendations. More details can be found in the Security article.

  • LIMIT_MEM: Not recommended to go below 2048Mb
  • LIMIT_CPU: Limiting CPU will have some of the largest impact on Xylok's performance, so this should be kept as high as reasonable.
  • BIND_IP: IP of interface for Xylok to listen on. If not given, Xylok will bind to all interfaces.

Active Directory Login

Xylok can optionally support login via Active Directory, for more details please see Active Directory Login.