Per Instance Data

Last Updated: Mar 22, 2021
documentation for the dotCMS Content Management System

dotCMS automatically creates and manages several types of data on a per instance basis. This data includes:

  • The server_id which is a unique id that maps a dotCMS instance to it's assigned license key and place in the cluster.
  • The local H2 disk cache
  • Optionally, the local generated image cache of the transformed and resized images (depends on setting the property DOTGENERATED_DEFAULT_PATH=local).

Instance data is intended to be fast storage, live locally on each dotCMS instance and should not be mounted via a network mount. By default, instance data is stored in the /dotsecure folder in the webroot of the dotCMS installation, e.g. /dotserver/tomcat-X.x.xx/webapps/ROOT/dotsecure in the dotCMS distribution.

Fresh Starts and Deleting Instance Data

The instance data directory does not exist on new dotCMS instances and can be safely deleted when the dotCMS is down, as it will be (re)created on any dotCMS instance restart. When starting with a an empty instance data folder, your server will automatically be assigned a new server_id and thus have a new place in your dotCMS cluster. Because there is a one to one relationship between the server_id and available license keys, when deleting this directory and restarting the node it can take dotCMS up to 10 minutes to realize the cluster has changed and reapply the license key. You can avoid this delay by:

  1. Having free licenses available in your cluster - say 2x as many license as nodes you intend to run or by
  2. logging into the dotCMS, going to Control Panel > Configuration > Network and manually removing the old server_id from the cluster and assigning the license to the new server_id.

Changing the Location of Instance Data Directory

You may change the location where instance data is stored by changing the DYNAMIC_CONTENT_PATH property (not recommended to do this). To store your instance data in a different location, uncomment and set the value of this property in the dotmarketing-config.properties file or by setting the environmental variable DOT_DYNAMIC_CONTENT_PATH. It is important that the dotCMS application (e.g. the user account which is used to run dotCMS) has full permissions to the specified folder and all subfolders within it. Insufficient permissions on the instance data folder will prevent proper operation of dotCMS, and may cause log errors, run-time errors, or application crashes.

On this page