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 |
|---|---|---|---|---|---|
|
autojoin |
girder |
|
||
|
core |
girder |
|
||
|
core |
girder |
|
||
|
core |
girder |
|
||
|
core |
girder |
|
The name of the application displayed in the UI header and title. Default is “Girder”. |
|
|
core |
girder |
|
A JSON dictionary configuring the caching system. Use keys like: |
|
|
core |
girder |
|
Whether to enable short-term caching of database queries. Set to “true” or “false”. This can speed up |
|
|
core |
girder |
|
||
|
core |
girder |
|
||
|
core |
girder |
|
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. |
|
|
core |
girder |
|
The lifetime of authentication cookies in days. Default is 180. |
|
|
core |
girder |
|
CORS header specifying which headers are allowed in requests. |
|
|
core |
girder |
|
CORS header listing allowed HTTP methods (GET, POST, PUT, DELETE, etc.). |
|
|
core |
girder |
|
CORS header specifying which origins are allowed to access the API. Use * for all or specify domains. |
|
|
core |
girder |
|
CORS header listing headers that should be exposed to the client. |
|
|
core |
girder |
|
||
|
core |
girder |
|
||
|
core |
girder |
|
Whether email verification is required for new accounts. Set to “true” or “false”. |
|
|
core |
girder |
|
Whether password-based login is enabled. Set to “true” or “false”. |
|
|
core |
girder |
|
Maximum size in bytes that is read from files internally. Controls for some memory usage. Default is 16MB (1024 * 1024 * 16). |
|
|
core |
girder |
|
||
|
core |
girder |
|
||
|
core |
girder |
|
Controls user registration policy. Values: “open”, “admin”, or “closed”. |
|
|
core |
girder |
|
The base URL path where Girder is mounted. Use this for reverse proxy setups. This is prefixed to “api/v1”. |
|
|
core |
girder |
|
SMTP encryption method. Values: “none”, “ssl”, or “tls”. |
|
|
core |
girder |
|
SMTP server hostname for sending emails. |
|
|
core |
girder |
|
SMTP authentication password. |
|
|
core |
girder |
|
SMTP server port number. |
|
|
core |
girder |
|
SMTP authentication username. |
|
|
core |
girder |
|
Minimum chunk size for file uploads in bytes. Default is 5MB (1024 * 1024 * 5). |
|
|
core |
girder |
|
||
|
google_analytics |
girder |
|
||
|
gravatar |
girder |
|
||
|
hashsum_download |
girder |
|
||
|
homepage |
girder |
|
||
|
homepage |
girder |
|
||
|
homepage |
girder |
|
||
|
homepage |
girder |
|
||
|
homepage |
girder |
|
||
|
item_licenses |
girder |
|
||
|
ldap |
girder |
|
||
|
ldap |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
oauth |
girder |
|
||
|
sentry |
girder |
|
||
|
sentry |
girder |
|
||
|
slicer_cli_web |
girder |
|
||
|
slicer_cli_web |
girder |
|
||
|
user_quota |
girder |
|
Default storage quota for new collections in bytes. |
|
|
user_quota |
girder |
|
Default storage quota for new users in bytes. |
|
|
worker |
girder |
|
||
|
worker |
girder |
|
Direct Environment Variables
Environment Variable |
Component |
Repo |
Source File |
Description |
|---|---|---|---|---|
core |
girder |
|
||
slicer_cli_web |
girder |
|
||
core |
girder |
|
||
core |
girder |
|
Hostname or IP address to bind the server to. Use ‘0.0.0.0’ to bind to all interfaces. |
|
core |
girder |
|
||
core |
girder |
|
MongoDB replica set name for connecting to a replica set cluster. It is probably better to include this as part of the URI. |
|
core |
girder |
|
MongoDB connection string including authentication details if needed. Default is “mongodb://localhost:27017”. |
|
core |
girder |
|
||
core |
girder |
|
||
core |
girder |
|
Port number the server should listen on. Default is 8080. |
|
core |
girder |
|
||
core |
girder |
|
||
core |
girder |
|
||
core |
girder |
|
||
core |
girder |
|
||
core |
girder |
|
Number of threads in the CherryPy thread pool. Adjust based on server capacity. Default is 100. |
|
core |
girder |
|
||
core |
girder |
|
||
core |
girder |
|
URL for the Celery result backend (e.g., redis://localhost:6379/0). |
|
core |
girder |
|
URL for the Celery message broker (e.g., redis://localhost:6379/0). |
|
core |
girder |
|
||
core |
girder |
|
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: |
|
core |
girder |
|
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” |
|
core |
girder |
|
||
core |
girder |
|
||
core |
girder |
|
||
core |
girder |
|
||
core |
girder |
|