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_backendCreation and management of user alerts.
omics_irodsiRODS backend for iRODS connections.
isatemplates_backendProvide access to custom ISA-Tab templates in the Sample Sheets app.
ontologyaccess_backendProvide ontology lookup for the Sample Sheets app.
sodar_cacheEnable the SODAR Cache.
taskflowProvide complex iRODS transactions for project data.
timeline_backendCreation 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_IRODSUse iRODS except if set false (boolean).
IRODS_HOSTiRODS host (string).
IRODS_HOST_FQDNFully qualified domain name of iRODS host, for cases where
IRODS_HOSTis given as e.g. an internal docker network host (string).IRODS_PORTiRODS port (integer).
IRODS_ZONEiRODS zone (string).
IRODS_HASH_SCHEMEiRODS 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_PATHiRODS root path, without the zone. Used if the SODAR projects collection is not intended to be placed directly under
IRODS_ZONE(string).IRODS_USERName of iRODS admin user to be used by backend processes (string).
IRODS_PASSPassword of iRODS admin user (string).
IRODS_SAMPLE_COLLName of sample data collection under each project (string, default:
sample_data).IRODS_LANDING_ZONE_COLLName of landing zone collection under each project (string, default:
landing_zones).IRODS_ENV_DEFAULTDefault iRODS environment for backend and client connections (dict).
IRODS_ENV_BACKENDiRODS environment overrides for backend connections (dict).
IRODS_ENV_CLIENTiRODS environment overrides for client connections (dict).
IRODS_CERT_PATHiRODS certificate path on server (string).
IRODS_SODAR_AUTHEnable local basic auth endpoint for iRODS. NOTE: This must be set
Trueif 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_TIMEOUTConnection timeout for taskflows in seconds, other SODAR iRODS sessions are not affected (int, default: 480).
TASKFLOW_LOCK_RETRY_COUNTRetry count for project lock retrieval for Taskflow operations (int, default: 2).
TASKFLOW_LOCK_RETRY_INTERVALRetry interval for project lock retrieval for Taskflow operations (int, default: 3).
TASKFLOW_ZONE_PROGRESS_INTERVALInterval in seconds for zone progress counters, 0 for update on every file (int, default: 10).
iRODS WebDAV Settings
IRODS_WEBDAV_ENABLEDEnable WebDAV unless set false (boolean).
IRODS_WEBDAV_URLURL for the iRODS WebDAV server (string).
IRODS_WEBDAV_URL_ANONURL for anonymous WebDAV access, in case running on a different server than the general WebDAV (string, default:
IRODS_WEBDAV_URL).IRODS_WEBDAV_URL_ANON_TMPLTemplate for anonymous ticket access via the anonymous WebDAV URL (regex).
IRODS_WEBDAV_USER_ANONUser name for anonymous WebDAV access (string, default:
ticket).IRODS_WEBDAV_IGV_PROXYEnable the use of IGV proxy on the WebDAV server. This should be set
Trueif 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 setFalse(boolean, default:False).
iRODS Backend Settings
IRODSBACKEND_STATUS_INTERVALiRODS backend status query interval in seconds (integer).
IRODS_QUERY_BATCH_SIZEBatch query size for improving sequential iRODS query performance (integer).
Sample Sheets Settings
SHEETS_ALLOW_CRITICALAllow critical altamISA warnings on import (boolean).
SHEETS_IRODS_LIMITiRODS file query limit (integer).
SHEETS_ENABLE_STUDY_TABLE_CACHEEnable caching of study tables unless set false (boolean).
SHEETS_MIN_COLUMN_WIDTHMinimum default column width in study/assay tables (integer).
SHEETS_MAX_COLUMN_WIDTHMaximum default column width in study/assay tables (integer).
SHEETS_VERSION_PAGINATIONVersion list pagination limit (integer).
SHEETS_IRODS_TICKET_PAGINATIONiRODS ticket list pagination limit (integer).
SHEETS_IRODS_TICKET_PAGINATIONiRODS deletion request list pagination limit (integer).
SHEETS_ONTOLOGY_URL_TEMPLATEURL template for ontology lookup (string).
SHEETS_ONTOLOGY_URL_SKIPSkip URL template modification if substring is found in the
accessionattribute (list).SHEETS_EXTERNAL_LINK_PATHPath 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-remoteas its key. The item should contain alabelparameter containing a display-friendly description of the ID. If linking out to an external resource is needed, add aurlparameter containing a URL pattern in form ofhttps://example.com/{id}.SHEETS_SYNC_ENABLEEnable remote sample sheet synchronisation (boolean).
SHEETS_SYNC_INTERVALInterval for remote sample sheet synchronization in minutes (integer).
SHEETS_IGV_OMIT_BAMBAM and CRAM file name suffixes to omit from study shortcuts and IGV session generation.
SHEETS_IGV_OMIT_VCFVCF file name suffixes to omit from study shortcuts and IGV session generation.
SHEETS_IRODS_TICKET_HOSTSList 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_RESTRICTRestrict access to
SampleDataFileExistsAPIViewto 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_LIMITLimit AltamISA parser warnings to be saved in the database to N per investigation (integer).
Landing Zones Settings
LANDINGZONES_DISABLE_FOR_USERSDisable non-superuser uploads via landing zones, useful for e.g. demo instances (boolean).
LANDINGZONES_STATUS_INTERVALZone status query interval in seconds (integer).
LANDINGZONES_TRIGGER_ENABLEEnable automated move triggering (boolean).
LANDINGZONES_TRIGGER_MOVE_INTERVALAutomated move file check interval in seconds (integer).
LANDINGZONES_TRIGGER_FILEFile name for automated move triggering (string, default:
.sodar_validate_and_move).LANDINGZONES_ZONE_CREATE_LIMITOptional 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
0for no limit (integer).LANDINGZONES_ZONE_VALIDATE_LIMITLimit 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
1by default. Setting this value to0orNonewill be considered as1(integer).LANDINGZONES_FILE_LIST_PAGINATIONPage size for landing zone iRODS file list modal pagination.
LANDINGZONES_ZONE_MOVE_VERIFYEnable 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_DAYSBIH proteomics configuration SMB expiry days (integer).
LZ_BIH_PROTEOMICS_SMB_USERBIH proteomics configuration SMB user (string).
LZ_BIH_PROTEOMICS_SMB_PASSBIH proteomics configuration SMB password (string).
Ontology Access Settings
ONTOLOGYACCESS_BULK_CREATEBulk term creation limit for ontology import (integer).
ONTOLOGYACCESS_QUERY_LIMITTerm query limit (integer).
ISA Templates Settings
ISATEMPLATES_ENABLE_CUBI_TEMPLATESEnable 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_VERSIONVersion of the SODAR server. Should be the latest release tag (e.g.
0.12.0-0) or the latest development versiondev-0. For production it is strongly recommended to use the latest tagged release.IRODS_VERSIONVersion of the CUBI irods-docker image to use. Corresponds to the iRODS package version, e.g.
4.2.11-1.SSSD_VERSIONSSSD version if using LDAP logins.
IRODS_SSSD_AUTHEnable SSSD-based logins for iRODS.
IRODS_SODAR_AUTHEnable PAM logins via the SODAR server for iRODS.
IRODS_SODAR_API_HOSTSODAR 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_SENTRYEnable support for Sentry/GlitchTip monitoring (boolean).
SENTRY_DSNData Source Name (DSN) for your project (string).
SENTRY_TRACES_SAMPLE_RATEPercent of requests that are sent as a performance monitoring transaction. Low value recommended for performance (float, default:
0.01).SENTRY_ENVIRONMENTEnvironment name for your project (string, default:
production).