Skip to main content

Operations

This chapter describes the configuration of the CMS server. In NeuroomNet installations, the installation takes care of this; the values are stored there in etcd.

Configuration​

At startup, the server reads:

  1. config.json in the server directory,
  2. config.custom.json next to it (overrides individual keys),
  3. etcd, if the environment variables ETCD_HOST and ETCD_REALM are set. All keys under <ETCD_REALM>[.<ETCD_NAMESPACE>].cms. are read; dots in the key result in nested objects, values are JSON. Example: neuroomnet.nn.cms.httpPort → 29912.
KeyMeaning
dbUriMongoDB connection including database name, e.g. mongodb://localhost:27017/cms
dbConfigadditional options for the MongoDB driver
httpPortport of the web server, default in config.json: 29912
httpAuthauthentication method: ./auth/basic or ./auth/oidc (see Authentication)
webAdmin, webAdminPassname and password of the administrator account
ignoreAccountCasecase-insensitive account names (prevents accounts that differ only in case)
diskUploadbuffer uploaded files on disk instead of in memory before they are taken over
oidcsettings for OIDC, see Authentication
headerSSOsettings for header SSO, see Authentication
previewAdmin, previewAdminPass, previewDatabaseaccess and storage of the built-in preview server

Media files are stored in MongoDB (GridFS). A backup of the database therefore also includes the files.

Encryption​

If the files ssl.crt and ssl.key with content are present in the server directory, the server starts with HTTPS, otherwise with HTTP. In NeuroomNet installations, the CMS runs behind nginx, which handles encryption (port 444).

Extensions​

At startup, the CMS can load extensions (plugins) that add their own endpoints and actions. /version and /plugins report which ones are loaded. The plugin interface is not described here.