Configuration of the CMS

Basically, the CMS can be configured in the following ways:

1 Backend configuration files

Depending on the environment variables CONF_PATH and CONF_FILES, the CMS will read the specified configuration files. CONF_FILES must be set to a comma separated list of directories and/or files, relative to the path configured via CONF_PATH (which defaults to conf relative to the home directory of the CMS).

Example configuration (with the CMS home directory being /cms):


export CONF_PATH=conf
export CONF_FILES=basic.yml,features,custom/overrides.yml

With the following files:


/cms/conf/basic.yml
/cms/conf/custom/overrides.yml
/cms/conf/features/devtools.yml
/cms/conf/features/gis.yml
/cms/conf/features/other.yml

The CMS will read the following configuration files (in the given order):

  1. /cms/conf/basic.yml
  2. /cms/conf/features/devtools.yml
  3. /cms/conf/features/gis.yml
  4. /cms/conf/features/other.yml
  5. /cms/conf/custom/overrides.yml

With the default value of CONF_FILES (which is empty), the CMS will not read any configuration files (a warning will be logged in that case).

Configuration settings from “later” files will overwrite the settings from “earlier” files.

1.1 Property substitution

The configuration files support property substitution in string values.

The general format for property substitution is ${key:property} where key defines substitution type, and property the property to be substituted:

Key Description Example Replacement
base64Encoder Replace with base64 encoded string ${base64Encoder:Hello World} SGVsbG8gV29ybGQ=
base64Decoder Replace with base64 decoded string ${base64Decoder:SGVsbG8gV29ybGQ=} Hello World
date Replace with current date ${date:yyyy-mm-dd} 2023-04-01
env Replace with value of environment variable ${env:USER} node
sys Replace with value of system property ${sys:user.name} node
urlEncoder Replace with URL encoded string ${urlEncoder:path with spaces} path+with+spaces
urlDecoder Replace with URL decoded string ${urlDecoder:path+with+spaces} path with spaces

Since the format for properties contains curly brackets and colons (characters, which are used to format JSON), it is strongly recommended to quote all strings containing properties, which should be substituted.

Example configuration:

conf/*.yml

maxfilesize: "${env:CMS_MAX_FILESIZE}"

2 UI Configuration files

UI Configuration files must be located in the directory which is defined with the environment variable UI_CONF_PATH. Those files will be available over http and will be read by the UI.

3 Environment variables/System properties

The CMS supports the following environment variables (some settings can also be set over Java System properties or in the CMS configuration):

3.1 HTTP_PORT

Description Http Port of the CMS
Env HTTP_PORT
System Property com.gentics.contentnode.http.port
Configuration server.port
Default 8080

3.2 HTTP2

Description Use HTTP/2 protocol version
Env HTTP2
System Property com.gentics.contentnode.http2
Configuration server.http2
Default false

3.3 CONF_PATH

Description Path to configuration files
Env CONF_PATH
System Property com.gentics.contentnode.config.path
Configuration
Default conf

3.4 DBFILES_PATH

Description Path to binary files
Env DBFILES_PATH
System Property com.gentics.contentnode.dbfiles.path
Configuration config.dbfiles
Default data/dbfiles

3.5 CONF_FILES

Description Comma separated list of configuration files or folders containing configuration files (relative to CONF_PATH)
Env CONF_FILES
System Property com.gentics.contentnode.config.files
Configuration
Default

3.6 LICENSEKEY

Description License Key
Env LICENSEKEY
System Property com.gentics.contentnode.license-key
Configuration
Default

3.7 KEYS_PATH

Description Path to keys directory
Env KEYS_PATH
System Property com.gentics.contentnode.keys.path
Configuration
Default keys

3.8 CACHE_CONFIG_PATH

Description Path to cache.ccf
Env CACHE_CONFIG_PATH
System Property com.gentics.contentnode.cache.config.path
Configuration
Default CONF_PATH/cache.ccf

3.9 CACHE_PATH

Description Path to cache files
Env CACHE_PATH
System Property com.gentics.contentnode.cache.path
Configuration
Default cache

3.10 LOGS_PATH

Description Path to logs
Env LOGS_PATH
System Property com.gentics.contentnode.logs.path
Configuration
Default logs

3.11 ACCESS_LOG

Description Access Log Format, see Jetty Custom Request Log
Env ACCESS_LOG
System Property com.gentics.contentnode.access_log
Configuration
Default %{client}a - %u %t \"%r\" %s %O

3.12 PUBLISH_PATH

Description Path to statically published files
Env PUBLISH_PATH
System Property com.gentics.contentnode.publish.path
Configuration
Default publish

3.13 GIS_PATH

Description Path to statically published GIS files
Env GIS_PATH
System Property com.gentics.contentnode.gis.path
Configuration
Default PUBLISH_PATH/gis

3.14 PACKAGES_PATH

Description Path to the directory containing the devtool packages
Env PACKAGES_PATH
System Property com.gentics.contentnode.packages.path
Configuration
Default packages

3.15 CONTENT_PACKAGES_PATH

Description Path to the directory containing the content packages
Env CONTENT_PACKAGES_PATH
System Property com.gentics.contentnode.content_packages.path
Configuration
Default content-packages

3.16 SCHEDULER_COMMANDS_PATH

Description Path to the directory containing the scripts, that can be run by the scheduler
Env SCHEDULER_COMMANDS_PATH
System Property com.gentics.contentnode.scheduler_commands.path
Configuration
Default scheduler-commands

3.17 STATIC_SERVE_LIST

Description Comma separated list of directories that contain files, which should be served statically over HTTP
Env STATIC_SERVE_LIST
System Property com.gentics.contentnode.static_serve_list
Configuration
Default

3.18 UI_CONF_PATH

Description Path to UI configuration files
Env UI_CONF_PATH
System Property com.gentics.contentnode.ui.conf_path
Configuration ui.conf_path
Default ui-conf

3.19 TMP_PATH

Description Path to store temporary files
Env TMP_PATH
System Property com.gentics.contentnode.tmp_path
Configuration tmppath
Default System property java.io.tmpdir

3.20 NODE_USER_PASSWORD

Description Initial password for the CMS user ‘node’
Env NODE_USER_PASSWORD
System Property com.gentics.contentnode.node_user.password
Configuration
Default

3.21 NODE_DB_DRIVER_CLASS

Description Name of the JDBC Driver class for accessing the backend DB
Env NODE_DB_DRIVER_CLASS
System Property com.gentics.contentnode.db.driverClass
Configuration db.settings.driverClass
Default org.mariadb.jdbc.Driver

3.22 NODE_DB_HOST

Description Hostname of the backend DB
Env NODE_DB_HOST
System Property com.gentics.contentnode.db.host
Configuration db.settings.host
Default localhost

3.23 NODE_DB_PORT

Description Port of the backend DB
Env NODE_DB_PORT
System Property com.gentics.contentnode.db.port
Configuration db.settings.port
Default 3306

3.24 NODE_DB_USER

Description Username for accessing the backend DB
Env NODE_DB_USER
System Property com.gentics.contentnode.db.user
Configuration db.settings.user
Default

3.25 NODE_DB_PASSWORD

Description Password for accessing the backend DB
Env NODE_DB_PASSWORD
System Property com.gentics.contentnode.db.password
Configuration db.settings.password
Default

3.26 NODE_DB_NAME

Description Name of the backend DB
Env NODE_DB_NAME
System Property com.gentics.contentnode.db.name
Configuration db.settings.name
Default node_utf8

3.27 NODE_DB_PARAMETERS

Description Additional JDBC Parameters for accessing the backend DB
Env NODE_DB_PARAMETERS
System Property com.gentics.contentnode.db.parameters
Configuration db.settings.jdbcparameters
Default netTimeoutForStreamingResults=900

3.28 NODE_DB_URL

Description JDBC Connection URL for accessing the backend DB
Env NODE_DB_URL
System Property com.gentics.contentnode.db.url
Configuration db.settings.url
Default Will be constructed from NODE_DB_HOST, NODE_DB_PORT, NODE_DB_NAME and NODE_DB_PARAMETERS

3.29 NODE_DB_INIT_TIMEOUT

Description Timeout in ms for establishing initial connection to the backen DB, when the CMS is started
Env NODE_DB_INIT_TIMEOUT
System Property com.gentics.contentnode.db.init_timeout
Configuration
Default 60000

3.30 ALOHAEDITOR_PATH

Description Path to Aloha Editor (used only in development environments)
Env ALOHAEDITOR_PATH
System Property com.gentics.contentnode.alohaeditor.path
Configuration
Default

3.31 ALOHAEDITOR_PLUGINS_PATH

Description Path to Aloha Editor Plugins (used only in development environments)
Env ALOHAEDITOR_PLUGINS_PATH
System Property com.gentics.contentnode.alohaeditor.plugins.path
Configuration
Default

3.32 GCNJSAPI_PATH

Description Path to Gentics CMS JS API (used only in development environments)
Env GCNJSAPI_PATH
System Property com.gentics.contentnode.gcnjsapi.path
Configuration
Default