SODAR Settings

SODAR contains a number of site-wide backend settings, which greatly affect the provided features and user experience. The settings are provided to the server as environment variables and they originate both from the SODAR Core platform and SODAR itself. Settings can be either mandatory or optional. Default values for all mandatory settings are provided by the SODAR Docker Compose deployment framework.

Hint

To easily see what values for SODAR site settings are currently in use, navigate to the Site Info admin application and select the Settings tab.

Note

In sodar-docker-compose environments, internal SODAR settings may be prefixed as SODAR_*.

SODAR Core Settings

Settings originating from SODAR Core are documented in the SODAR Core documentation. Documentation on settings is linked below.

Enabled Backend Plugins

The ENABLED_BACKEND_PLUGINS settings defines which backend applications are used in SODAR. These originate both SODAR Core and SODAR itself. The default configuration for running SODAR in production is a list of applications as follows:

appalerts_backend

Creation and management of user alerts.

omics_irods

iRODS backend for iRODS connections.

isatemplates_backend

Provide access to custom ISA-Tab templates in the Sample Sheets app.

ontologyaccess_backend

Provide ontology lookup for the Sample Sheets app.

sodar_cache

Enable the SODAR Cache.

taskflow

Provide complex iRODS transactions for project data.

timeline_backend

Creation events for the project timeline.

It is not recommended to modify this configuration except for special circumstances. If removed from the list, the functionality regarding a specific backend will be disabled in SODAR.

SODAR Settings

Settings from SODAR applications themselves are described below.

iRODS Settings

ENABLE_IRODS

Use iRODS except if set false (boolean).

IRODS_HOST

iRODS host (string).

IRODS_HOST_FQDN

Fully qualified domain name of iRODS host, for cases where IRODS_HOST is given as e.g. an internal docker network host (string).

IRODS_PORT

iRODS port (integer).

IRODS_ZONE

iRODS zone (string).

IRODS_HASH_SCHEME

iRODS checksum hashing scheme. Supported values are “MD5” and “SHA256”, with “MD5” as the default. This should be set upon initial deployment (string). See here for more information.

IRODS_ROOT_PATH

iRODS root path, without the zone. Used if the SODAR projects collection is not intended to be placed directly under IRODS_ZONE (string).

IRODS_USER

Name of iRODS admin user to be used by backend processes (string).

IRODS_PASS

Password of iRODS admin user (string).

IRODS_SAMPLE_COLL

Name of sample data collection under each project (string, default: sample_data).

IRODS_LANDING_ZONE_COLL

Name of landing zone collection under each project (string, default: landing_zones).

IRODS_ENV_DEFAULT

Default iRODS environment for backend and client connections (dict).

IRODS_ENV_BACKEND

iRODS environment overrides for backend connections (dict).

IRODS_ENV_CLIENT

iRODS environment overrides for client connections (dict).

IRODS_CERT_PATH

iRODS certificate path on server (string).

IRODS_SODAR_AUTH

Enable local basic auth endpoint for iRODS. NOTE: This must be set True if OIDC is enabled, or if both OIDC and LDAP auth are disabled (boolean, default: False).

Warning

Changing path settings such as IRODS_ROOT_PATH, IRODS_SAMPLE_COLL and IRODS_LANDING_ZONE_COLL is not recommended on an existing SODAR installation. In that case, manual moving of existing iRODS collections is required or links to iRODS will not work as expected.

Taskflow Backend Settings

TASKFLOW_IRODS_CONN_TIMEOUT

Connection timeout for taskflows in seconds, other SODAR iRODS sessions are not affected (int, default: 480).

TASKFLOW_LOCK_RETRY_COUNT

Retry count for project lock retrieval for Taskflow operations (int, default: 2).

TASKFLOW_LOCK_RETRY_INTERVAL

Retry interval for project lock retrieval for Taskflow operations (int, default: 3).

TASKFLOW_ZONE_PROGRESS_INTERVAL

Interval in seconds for zone progress counters, 0 for update on every file (int, default: 10).

iRODS WebDAV Settings

IRODS_WEBDAV_ENABLED

Enable WebDAV unless set false (boolean).

IRODS_WEBDAV_URL

URL for the iRODS WebDAV server (string).

IRODS_WEBDAV_URL_ANON

URL for anonymous WebDAV access, in case running on a different server than the general WebDAV (string, default: IRODS_WEBDAV_URL).

IRODS_WEBDAV_URL_ANON_TMPL

Template for anonymous ticket access via the anonymous WebDAV URL (regex).

IRODS_WEBDAV_USER_ANON

User name for anonymous WebDAV access (string, default: ticket).

IRODS_WEBDAV_IGV_PROXY

Enable the use of IGV proxy on the WebDAV server. This should be set True if the WebDAV is deployed on a different host than SODAR itself. This will avoid having to log in twice when opening a session file in IGV. If SODAR and the WebDAV are deployed on the same host, this should be set False (boolean, default: False).

iRODS Backend Settings

IRODSBACKEND_STATUS_INTERVAL

iRODS backend status query interval in seconds (integer).

IRODS_QUERY_BATCH_SIZE

Batch query size for improving sequential iRODS query performance (integer).

Sample Sheets Settings

SHEETS_ALLOW_CRITICAL

Allow critical altamISA warnings on import (boolean).

SHEETS_IRODS_LIMIT

iRODS file query limit (integer).

SHEETS_ENABLE_STUDY_TABLE_CACHE

Enable caching of study tables unless set false (boolean).

SHEETS_MIN_COLUMN_WIDTH

Minimum default column width in study/assay tables (integer).

SHEETS_MAX_COLUMN_WIDTH

Maximum default column width in study/assay tables (integer).

SHEETS_VERSION_PAGINATION

Version list pagination limit (integer).

SHEETS_IRODS_TICKET_PAGINATION

iRODS ticket list pagination limit (integer).

SHEETS_IRODS_TICKET_PAGINATION

iRODS deletion request list pagination limit (integer).

SHEETS_ONTOLOGY_URL_TEMPLATE

URL template for ontology lookup (string).

SHEETS_ONTOLOGY_URL_SKIP

Skip URL template modification if substring is found in the accession attribute (list).

SHEETS_EXTERNAL_LINK_PATH

Path for JSON file containing labels and other metadata for external link columns (dict, default={PROJECT_ROOT}/samplesheets/config/ext_links.json). Each item the JSON dictionary should contain an ID descriptor such as x-generic-remote as its key. The item should contain a label parameter containing a display-friendly description of the ID. If linking out to an external resource is needed, add a url parameter containing a URL pattern in form of https://example.com/{id}.

SHEETS_SYNC_ENABLE

Enable remote sample sheet synchronisation (boolean).

SHEETS_SYNC_INTERVAL

Interval for remote sample sheet synchronization in minutes (integer).

SHEETS_IGV_OMIT_BAM

BAM and CRAM file name suffixes to omit from study shortcuts and IGV session generation.

SHEETS_IGV_OMIT_VCF

VCF file name suffixes to omit from study shortcuts and IGV session generation.

SHEETS_IRODS_TICKET_HOSTS

List of host names or IP addresses to be used as default allowed hosts for iRODS access tickets. If no value is given, no restrictions are applied. The restriction can be overridden by a project-specific setting and/or a ticket-specific value.

SHEETS_API_FILE_EXISTS_RESTRICT

Restrict access to SampleDataFileExistsAPIView to users with the role of project guest or above in any category or project. Recommended for instances deployed on the public internet with general OIDC SSO access (boolean).

SHEETS_PARSER_WARNING_SAVE_LIMIT

Limit AltamISA parser warnings to be saved in the database to N per investigation (integer).

Landing Zones Settings

LANDINGZONES_DISABLE_FOR_USERS

Disable non-superuser uploads via landing zones, useful for e.g. demo instances (boolean).

LANDINGZONES_STATUS_INTERVAL

Zone status query interval in seconds (integer).

LANDINGZONES_TRIGGER_ENABLE

Enable automated move triggering (boolean).

LANDINGZONES_TRIGGER_MOVE_INTERVAL

Automated move file check interval in seconds (integer).

LANDINGZONES_TRIGGER_FILE

File name for automated move triggering (string, default: .sodar_validate_and_move).

LANDINGZONES_ZONE_CREATE_LIMIT

Optional limit for how many active landing zones can be created per project. If enabled, existing landing zones past the limit must be moved or deleted before new ones can be created. The UI and API will inform the user of this limitation. Use value 0 for no limit (integer).

LANDINGZONES_ZONE_VALIDATE_LIMIT

Limit for how many landing zones can be simultaneously triggered for validation in a project. Once the limit is reached, onoing validation jobs in the project must finish before new ones can be initiated. The UI and API will inform the user of this limitation. Set as 1 by default. Setting this value to 0 or None will be considered as 1 (integer).

LANDINGZONES_FILE_LIST_PAGINATION

Page size for landing zone iRODS file list modal pagination.

LANDINGZONES_ZONE_MOVE_VERIFY

Enable verification of file integrity after landing zone move. Recomputes and validates checksums of recently moved landing zone files in the sample data repository, reports to the zone owner if problems were encountered. Can be overridden by a site app setting in runtime.

LZ_BIH_PROTEOMICS_SMB_EXPIRY_DAYS

BIH proteomics configuration SMB expiry days (integer).

LZ_BIH_PROTEOMICS_SMB_USER

BIH proteomics configuration SMB user (string).

LZ_BIH_PROTEOMICS_SMB_PASS

BIH proteomics configuration SMB password (string).

Ontology Access Settings

ONTOLOGYACCESS_BULK_CREATE

Bulk term creation limit for ontology import (integer).

ONTOLOGYACCESS_QUERY_LIMIT

Term query limit (integer).

ISA Templates Settings

ISATEMPLATES_ENABLE_CUBI_TEMPLATES

Enable templates from the cubi-isa-templates repository (boolean).

SODAR Docker Compose Settings

Settings specific to the sodar-docker-compose repository are described here.

SODAR_SERVER_VERSION

Version of the SODAR server. Should be the latest release tag (e.g. 0.12.0-0) or the latest development version dev-0. For production it is strongly recommended to use the latest tagged release.

IRODS_VERSION

Version of the CUBI irods-docker image to use. Corresponds to the iRODS package version, e.g. 4.2.11-1.

SSSD_VERSION

SSSD version if using LDAP logins.

IRODS_SSSD_AUTH

Enable SSSD-based logins for iRODS.

IRODS_SODAR_AUTH

Enable PAM logins via the SODAR server for iRODS.

IRODS_SODAR_API_HOST

SODAR server host for iRODS in case the previous setting is set true.

Sentry / GlitchTip Settings

To enable monitoring of your site logs with Sentry or GlitchTip, use the following settings.

ENABLE_SENTRY

Enable support for Sentry/GlitchTip monitoring (boolean).

SENTRY_DSN

Data Source Name (DSN) for your project (string).

SENTRY_TRACES_SAMPLE_RATE

Percent of requests that are sent as a performance monitoring transaction. Low value recommended for performance (float, default: 0.01).

SENTRY_ENVIRONMENT

Environment name for your project (string, default: production).