Configuration

In many cases, Girder will work with default configuration whether installed via pip or from a source checkout or tarball. To compy with 12-factor application principles, Girder settings are controlled via environment variables.

Settings

Girder settings are specific key-value pairs that control system behavior. Many of these settings can be queried or viewed using the web API endpoint at /api/v1/system/setting or via the web UI under Admin console -> System configuration.

Via the environment

Any system setting can be controlled via environment variables as well. To do so, find the key of the setting and apply the following transformation:

  • transform all . characters in the key to _

  • convert it to uppercase

  • prefix it with GIRDER_SETTING_

Whatever value you set for that environment variable will be parsed as JSON and used at runtime. If the value cannot be parsed as JSON, its raw string value will be used instead. For example, to set the setting named "core.brand_name", you’d use GIRDER_SETTING_CORE_BRAND_NAME='My brand name'

Settings set through environment variables will override any setting value that is set in the database.

The full list of system settings available in Girder core can be seen in the file girder/girder/settings.py, under the SettingKey class. Plugins may add additional settings within their own packages.

Environment Variable List

This section, except for descriptions, is auto-generated from code inspection. More descriptions will be added as users ask about settings.

Girder Environment Variables

Database-Stored Settings via Environment Variables

Environment Variable

Setting Key

Component

Repo

Source File

Description

GIRDER_SETTING_AUTOJOIN

autojoin

autojoin

girder

plugins/autojoin/girder_autojoin/settings.py

GIRDER_SETTING_CORE_ADD_TO_GROUP_POLICY

core.add_to_group_policy

core

girder

girder/settings.py

GIRDER_SETTING_CORE_API_KEYS

core.api_keys

core

girder

girder/settings.py

GIRDER_SETTING_CORE_BANNER_COLOR

core.banner_color

core

girder

girder/settings.py

GIRDER_SETTING_CORE_BRAND_NAME

core.brand_name

core

girder

girder/settings.py

The name of the application displayed in the UI header and title. Default is “Girder”.

GIRDER_SETTING_CORE_CACHE_CONFIG

core.cache_config

core

girder

girder/settings.py

A JSON dictionary configuring the caching system. Use keys like: cache.global.backend for the cache backend, cache.global.expiration_time for timeout in seconds, cache.request.backend for request-specific caching.

GIRDER_SETTING_CORE_CACHE_ENABLED

core.cache.enabled

core

girder

girder/settings.py

Whether to enable short-term caching of database queries. Set to “true” or “false”. This can speed up

GIRDER_SETTING_CORE_COLLECTION_CREATE_POLICY

core.collection_create_policy

core

girder

girder/settings.py

GIRDER_SETTING_CORE_CONTACT_EMAIL_ADDRESS

core.contact_email_address

core

girder

girder/settings.py

GIRDER_SETTING_CORE_COOKIE_DOMAIN

core.cookie_domain

core

girder

girder/settings.py

The domain for which authentication cookies are valid. An empty string means cookies are valid for the entire domain. You might set this if Girder is proxied to a path within the domain.

GIRDER_SETTING_CORE_COOKIE_LIFETIME

core.cookie_lifetime

core

girder

girder/settings.py

The lifetime of authentication cookies in days. Default is 180.

GIRDER_SETTING_CORE_CORS_ALLOW_HEADERS

core.cors.allow_headers

core

girder

girder/settings.py

CORS header specifying which headers are allowed in requests.

GIRDER_SETTING_CORE_CORS_ALLOW_METHODS

core.cors.allow_methods

core

girder

girder/settings.py

CORS header listing allowed HTTP methods (GET, POST, PUT, DELETE, etc.).

GIRDER_SETTING_CORE_CORS_ALLOW_ORIGIN

core.cors.allow_origin

core

girder

girder/settings.py

CORS header specifying which origins are allowed to access the API. Use * for all or specify domains.

GIRDER_SETTING_CORE_CORS_EXPOSE_HEADERS

core.cors.expose_headers

core

girder

girder/settings.py

CORS header listing headers that should be exposed to the client.

GIRDER_SETTING_CORE_EMAIL_FROM_ADDRESS

core.email_from_address

core

girder

girder/settings.py

GIRDER_SETTING_CORE_EMAIL_HOST

core.email_host

core

girder

girder/settings.py

GIRDER_SETTING_CORE_EMAIL_VERIFICATION

core.email_verification

core

girder

girder/settings.py

Whether email verification is required for new accounts. Set to “true” or “false”.

GIRDER_SETTING_CORE_ENABLE_PASSWORD_LOGIN

core.enable_password_login

core

girder

girder/settings.py

Whether password-based login is enabled. Set to “true” or “false”.

GIRDER_SETTING_CORE_FILEHANDLE_MAX_SIZE

core.filehandle_max_size

core

girder

girder/settings.py

Maximum size in bytes that is read from files internally. Controls for some memory usage. Default is 16MB (1024 * 1024 * 16).

GIRDER_SETTING_CORE_GIRDER_MOUNT_INFORMATION

core.girder_mount_information

core

girder

girder/settings.py

GIRDER_SETTING_CORE_PRIVACY_NOTICE

core.privacy_notice

core

girder

girder/settings.py

GIRDER_SETTING_CORE_REGISTRATION_POLICY

core.registration_policy

core

girder

girder/settings.py

Controls user registration policy. Values: “open”, “admin”, or “closed”.

GIRDER_SETTING_CORE_SERVER_ROOT

core.server_root

core

girder

girder/settings.py

The base URL path where Girder is mounted. Use this for reverse proxy setups. This is prefixed to “api/v1”.

GIRDER_SETTING_CORE_SMTP_ENCRYPTION

core.smtp.encryption

core

girder

girder/settings.py

SMTP encryption method. Values: “none”, “ssl”, or “tls”.

GIRDER_SETTING_CORE_SMTP_HOST

core.smtp_host

core

girder

girder/settings.py

SMTP server hostname for sending emails.

GIRDER_SETTING_CORE_SMTP_PASSWORD

core.smtp.password

core

girder

girder/settings.py

SMTP authentication password.

GIRDER_SETTING_CORE_SMTP_PORT

core.smtp.port

core

girder

girder/settings.py

SMTP server port number.

GIRDER_SETTING_CORE_SMTP_USERNAME

core.smtp.username

core

girder

girder/settings.py

SMTP authentication username.

GIRDER_SETTING_CORE_UPLOAD_MINIMUM_CHUNK_SIZE

core.upload_minimum_chunk_size

core

girder

girder/settings.py

Minimum chunk size for file uploads in bytes. Default is 5MB (1024 * 1024 * 5).

GIRDER_SETTING_CORE_USER_DEFAULT_FOLDERS

core.user_default_folders

core

girder

girder/settings.py

GIRDER_SETTING_GOOGLE_ANALYTICS_TRACKING_ID

google_analytics.tracking_id

google_analytics

girder

plugins/google_analytics/girder_google_analytics/settings.py

GIRDER_SETTING_GRAVATAR_DEFAULT_IMAGE

gravatar.default_image

gravatar

girder

plugins/gravatar/girder_gravatar/settings.py

GIRDER_SETTING_HASHSUM_DOWNLOAD_AUTO_COMPUTE

hashsum_download.auto_compute

hashsum_download

girder

plugins/hashsum_download/girder_hashsum_download/settings.py

GIRDER_SETTING_HOMEPAGE_HEADER

homepage.header

homepage

girder

plugins/homepage/girder_homepage/settings.py

homepage.logo

homepage

girder

plugins/homepage/girder_homepage/settings.py

GIRDER_SETTING_HOMEPAGE_MARKDOWN

homepage.markdown

homepage

girder

plugins/homepage/girder_homepage/settings.py

GIRDER_SETTING_HOMEPAGE_SUBHEADER

homepage.subheader

homepage

girder

plugins/homepage/girder_homepage/settings.py

GIRDER_SETTING_HOMEPAGE_WELCOME_TEXT

homepage.welcome_text

homepage

girder

plugins/homepage/girder_homepage/settings.py

GIRDER_SETTING_ITEM_LICENSES_LICENSES

item_licenses.licenses

item_licenses

girder

plugins/item_licenses/girder_item_licenses/settings.py

GIRDER_SETTING_LDAP_SERVERS

ldap.servers

ldap

girder

plugins/ldap/girder_ldap/settings.py

GIRDER_SETTING_LDAP_SETTINGS

ldap.settings

ldap

girder

plugins/ldap/girder_ldap/settings.py

GIRDER_SETTING_OAUTH_BITBUCKET_CLIENT_ID

oauth.bitbucket_client_id

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_BITBUCKET_CLIENT_SECRET

oauth.bitbucket_client_secret

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_BOX_CLIENT_ID

oauth.box_client_id

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_BOX_CLIENT_SECRET

oauth.box_client_secret

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_CILOGON_CLIENT_ID

oauth.cilogon_client_id

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_CILOGON_CLIENT_SECRET

oauth.cilogon_client_secret

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_GITHUB_CLIENT_ID

oauth.github_client_id

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_GITHUB_CLIENT_SECRET

oauth.github_client_secret

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_GLOBUS_CLIENT_ID

oauth.globus_client_id

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_GLOBUS_CLIENT_SECRET

oauth.globus_client_secret

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_GOOGLE_CLIENT_ID

oauth.google_client_id

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_GOOGLE_CLIENT_SECRET

oauth.google_client_secret

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_IGNORE_REGISTRATION_POLICY

oauth.ignore_registration_policy

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_LINKEDIN_CLIENT_ID

oauth.linkedin_client_id

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_LINKEDIN_CLIENT_SECRET

oauth.linkedin_client_secret

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_MICROSOFT_CLIENT_ID

oauth.microsoft_client_id

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_MICROSOFT_CLIENT_SECRET

oauth.microsoft_client_secret

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_MICROSOFT_TENANT_ID

oauth.microsoft_tenant_id

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_OAUTH_PROVIDERS_ENABLED

oauth.providers_enabled

oauth

girder

plugins/oauth/girder_oauth/settings.py

GIRDER_SETTING_SENTRY_BACKEND_DSN

sentry.backend_dsn

sentry

girder

plugins/sentry/girder_sentry/settings.py

GIRDER_SETTING_SENTRY_FRONTEND_DSN

sentry.frontend_dsn

sentry

girder

plugins/sentry/girder_sentry/settings.py

GIRDER_SETTING_SLICER_CLI_WEB_TASK_FOLDER

slicer_cli_web.task_folder

slicer_cli_web

girder

plugins/slicer_cli_web/slicer_cli_web/config.py

GIRDER_SETTING_SLICER_CLI_WEB_WORKER_CONFIG_ITEM

slicer_cli_web.worker_config_item

slicer_cli_web

girder

plugins/slicer_cli_web/slicer_cli_web/config.py

GIRDER_SETTING_USER_QUOTA_DEFAULT_COLLECTION_QUOTA

user_quota.default_collection_quota

user_quota

girder

plugins/user_quota/girder_user_quota/settings.py

Default storage quota for new collections in bytes.

GIRDER_SETTING_USER_QUOTA_DEFAULT_USER_QUOTA

user_quota.default_user_quota

user_quota

girder

plugins/user_quota/girder_user_quota/settings.py

Default storage quota for new users in bytes.

GIRDER_SETTING_WORKER_API_URL

worker.api_url

worker

girder

plugins/worker/girder_plugin_worker/event_handlers.py

GIRDER_SETTING_WORKER_DIRECT_PATH

worker.direct_path

worker

girder

plugins/worker/girder_plugin_worker/event_handlers.py

Direct Environment Variables

Environment Variable

Component

Repo

Source File

Description

DOCKER_CLIENT_TIMEOUT

core

girder

worker/girder_worker/docker/tasks/__init__.py

GIRDER_API_KEY

slicer_cli_web

girder

plugins/slicer_cli_web/slicer_cli_web/upload_slicer_cli_task.py

GIRDER_EMAIL_TO_CONSOLE

core

girder

girder/utility/mail_utils.py

GIRDER_HOST

core

girder

girder/utility/config.py

Hostname or IP address to bind the server to. Use ‘0.0.0.0’ to bind to all interfaces.

GIRDER_MAX_CURSOR_TIMEOUT_MS

core

girder

girder/models/model_base.py

GIRDER_MONGO_REPLICA_SET

core

girder

girder/utility/config.py

MongoDB replica set name for connecting to a replica set cluster. It is probably better to include this as part of the URI.

GIRDER_MONGO_URI

core

girder

girder/cli/serve.py

MongoDB connection string including authentication details if needed. Default is “mongodb://localhost:27017”.

GIRDER_NOTIFICATION_REDIS_URL

core

girder

girder/notification.py

GIRDER_PASSWORD_REGEX

core

girder

girder/models/user.py

GIRDER_PORT

core

girder

girder/utility/config.py

Port number the server should listen on. Default is 8080.

GIRDER_S3_DOWNLOAD_RETRIES

core

girder

girder/utility/s3_assetstore_adapter.py

GIRDER_SERVER_MODE

core

girder

girder/cli/mount.py

GIRDER_SPHINX_BUILD

core

girder

girder/__init__.py

GIRDER_STATIC_ROOT_DIR

core

girder

girder/utility/server.py

GIRDER_TEST_DB

core

girder

girder/utility/config.py

GIRDER_THREAD_POOL

core

girder

girder/utility/config.py

Number of threads in the CherryPy thread pool. Adjust based on server capacity. Default is 100.

GIRDER_URL_ROOT

core

girder

girder/api/describe.py

GIRDER_VALID_PASSWORD_DESCRIPTION

core

girder

girder/models/user.py

GIRDER_WORKER_BACKEND

core

girder

worker/girder_worker/celeryconfig.py

URL for the Celery result backend (e.g., redis://localhost:6379/0).

GIRDER_WORKER_BROKER

core

girder

worker/girder_worker/celeryconfig.py

URL for the Celery message broker (e.g., redis://localhost:6379/0).

GIRDER_WORKER_CELERY_APP_MAIN

core

girder

worker/girder_worker/app.py

GIRDER_WORKER_DOCKER_RUN_OPTIONS

core

girder

worker/girder_worker/docker/tasks/__init__.py

A JSON dictionary of values to pass to all dockers that are created by Girder Worker. For instance, you could always mount a specific directory and pass an environment variable like so: {"volumes": ["/some/cache:/root/.cache"], "environment": {"CACHE_AVAILABLE": "1"}}. If the value is not a valid JSON dictionary it is ignored. Keys of detach and tty are ignored.

GIRDER_WORKER_JOB_GC_SCOPE

core

girder

worker/girder_worker/utils/transforms/girder_io.py

A comma-separated list of extra default scopes for worker jobs. For instance to allow jobs to schedule and check on other jobs, set this to “jobs.rest.create_job,jobs.rest.list_job”

GIRDER_WORKER_LOGGING_FORMAT

core

girder

worker/girder_worker/log_utils.py

GIRDER_WORKER_LOGGING_LEVEL

core

girder

worker/girder_worker/log_utils.py

GIRDER_WORKER_TASK_ALWAYS_EAGER

core

girder

worker/girder_worker/celeryconfig.py

GW_DIRECT_PATHS

core

girder

worker/girder_worker/utils/transforms/contrib/girder_io.py

LOGLEVEL

core

girder

girder/utility/server.py