Configuration

This section explains all configuration items that Kadi4Mat supports. The configuration is specified via a corresponding configuration file. The location of this file (e.g. usually /opt/kadi/config/kadi.py for productive installations) and which of the configuration items may need to be changed in order to make Kadi4Mat work properly depends on the installation method. It is therefore recommended to have a working (or work in progress) Kadi4Mat installation before reading through this section.

Note that the configuration file of Kadi4Mat is a normal Python file. This means that it always has to be syntactically correct. A basic example of a configuration file changing the values of two configuration items (as further explained in the configuration reference) may look like the following:

# Configure authentication providers to log in to Kadi4Mat.
AUTH_PROVIDERS = [
    {
        "type": "local",
        "allow_registration": True,
    },
]

# Configure the name of the Kadi4Mat server.
SERVER_NAME = "kadi4mat.example.edu"

# Other configuration values...

Note

Whenever changing the configuration file in production environments once Kadi4Mat is installed successfully, it may be necessary to restart the application and/or dependent services for any changes to take effect, similar to performing an update.

Sysadmins

Some configurations can also be adjusted via a graphical sysadmin interface, which also does not require a restart of the application. This interface can be found below the Settings menu item in the dropdown menu on the far right of the navigation bar in Kadi4Mat, once a user is set as a sysadmin. To initially set a user as sysadmin, the Kadi CLI can be used after installing and configuring Kadi4Mat successfully:

sudo su - kadi                # Switch to the kadi user (in production environments)
kadi users sysadmin <user_id> # Set the user given by its ID via <user_id> as sysadmin

If not already known, the (persistent) ID of a user can be retrieved via the web interface on the overview page of the corresponding user.

Note

Configuration values set via this interface take precedence over any values specified via a configuration file.

Warning

Sysadmins should be limited to users that are trustworthy (e.g. users that already have server access anyways), as sysadmins can change Kadi4Mat’s configuration and manage users and their resources.

Reference

The following sections contain the configuration reference related to authentication, storage and other settings. Note that all listed default values correspond to the ones used for production environments.