Configuration Reference

1. Configuration

Most of the CleanSpeak configuration is performed in the Management Interface. However, some configuration is provided through a configuration file. You may modify this file in order to change your configuration, CleanSpeak will need to be restarted to pick up changes to this configuration. Assuming you installed it in the default locations, the configuration file may be found in the following directory. If you have installed it in an alternate location the path to this file will be different.

Linux and macOS
/usr/local/cleanspeak/config/cleanspeak.properties
Windows
C:\cleanspeak\config\cleanspeak.properties

1.1. Options

The following table contains all the configuration options that CleanSpeak uses. For your convenience, you may select the type of configuration you plan to use, and the names will be updated to correspond to your preference.

Display configuration values in format:

Table 1. Properties

license.id [String]

Your License ID. You can find your License ID by logging into your account at https://account.cleanspeak.com/account/.

database.url [String]

A JDBC URL for your database.

For MySQL, this URL will look something like this:

database.url=jdbc:mysql://localhost:3306/cleanspeak?serverTimezone=UTC

For PostgreSQL, this URL will look something like this:

database.url=jdbc:postgresql://localhost:5432/cleanspeak

If you are using MySQL, you must include the serverTimezone=UTC parameter in the URL. The ? character is the same as a standard URL parameter, so if you have additional parameters, you should only have a single ? and parameters should be separated by &.

Some MySQL services such as Microsoft Azure may require a specific version of TLS to connect successfully. At the time of writing this note, the MySQL connector will not attempt to utilize TLSv1.2 by default, so when connecting to a service that requires this version you will need to explicitly request this version of TLS on the connection string. For example, appending this enabledTLSProtocols=TLSv1.2 to the connection string will allow you to successfully connect to an Azure managed MySQL database. See MySQL Connector : Connecting Securely UsingSSL for additional information.

database.username [String]

The username used to connect to the database.

database.password String

The password used to connect to the database.

database.mysql.enforce-utf8mb4 [String] defaults to true

When set to true and using MySQL, full 4 byte unique configuration is enforced at startup.

If this validation is not desired or not it is not possible to modify your MySQL configuration so satisfy the validation, disable this check by setting this value to false.

email.host [String] Required Deprecated

The hostname of your SMTP server. Starting in version 3.4.0 email server configuration has moved to the Management Interface.

email.port [Integer] Required Deprecated

The SMTP port. By default SMTP servers use port 25, 587 for SSL(TLS) connections and less commonly port 465 (SSL). Starting in version 3.4.0 email server configuration has moved to the Management Interface.

email.ssl [Boolean] Required Deprecated

Set to true to enable an SSL connection to the SMTP server. Starting in version 3.4.0 email server configuration has moved to the Management Interface.

email.username [String] Required Deprecated

The username used to connect to your email server. Starting in version 3.4.0 email server configuration has moved to the Management Interface.

email.password [String] Optional Deprecated

The password used to connect to your email server. Starting in version 3.4.0 email server configuration has moved to the Management Interface.

email.from [String] Required Deprecated

The email address used as in the from field when CleanSpeak sends emails. Starting in version 3.4.0 email server configuration has moved to the Management Interface.

cleanspeak-management-interface.additional-java-args [String]

Any additional arguments that you want to pass to the Java VM where this service will run.

cleanspeak-management-interface.http-port [Integer]

The port number that CleanSpeak Management Interface will use to accept HTTP requests.

cleanspeak-management-interface.https-port [Integer]

The port number that CleanSpeak Management Interface will use to accept HTTPS requests.

cleanspeak-management-interface.management-port [Integer]

The port number that CleanSpeak Management Interface will use for internal Tomcat administration.

cleanspeak-management-interface.memory [String]

The amount of memory to allocate dedicate to Java VM where this service will run. Use the M or G suffix to denote megabytes and gigabytes respectively.

For example, 512M will allocate 512 Megabytes to the Java VM and 1G will allocate 1 gigabyte. This value must be an integer, for example use 1536M to allocate 1.5 gigabytes.

cleanspeak-management-interface.runtime-mode [String] Defaults to development

The CleanSpeak runtime mode. The runtime mode causes some features to be modified based upon this configuration.

The possible values are:

  • development

  • production

When in the development runtime mode, maintenance mode will interactively assist you configuring the database and connecting to Elasticsearch if configured. Once you move CleanSpeak into production, it is recommended that you modify the runtime mode to production. When in production runtime mode maintenance mode will no longer be available to you which means you can be certain that your system will be sitting waiting for human input to start the upgrade process. When in production mode you will either need to leverage Silent Mode to automatically apply database migrations, or you will need to apply the database migrations yourself (either by hand or via a script of some sort).

cleanspeak-management-interface.silent-mode [String] Defaults to false

Determines if CleanSpeak should use Silent Mode during the startup process. Silent Mode automatically applies all database migrations during startup such that you do not need to run them manually. This is the preferred mode when in production.

cleanspeak-search-engine.transport-port [Integer]

The port that the search engine will use for optimized TCP communications instead of HTTP communications.

cleanspeak-search-engine.http-port [Integer]

The port number that the Search Engine will use to accept HTTP requests.

cleanspeak-search-engine.memory [String]

The amount of memory to allocate dedicate to Java VM where this service will run. Use the M or G suffix to denote megabytes and gigabytes respectively.

For example, 512M will allocate 512 Megabytes to the Java VM and 1G will allocate 1 gigabyte. This value must be an integer, for example use 1536M to allocate 1.5 gigabytes.

cleanspeak-search-engine.hosts [String] defaults to _local_

This parameter indicates which address or network interfaces to bind during service startup. The default value will cause the service to bind any loopback address on the system such as 127.0.0.1.

This default value is sufficient for running CleanSpeak Webservice, CleanSpeak Management Interface, and the Search Engine on the same server. If you run the Search Engine on a separate system than Cleanspeak Management Interface or CleanSpeak Webservice you will need to modify this value. You may specify a single hostname or IP address or one of the special values in any combination.

Special values include:

  • _[networkInterface]_ - Addresses of a network interface, for example _en0_

  • _local_ - Any loopback address on the system, for example 127.0.0.1

  • _site_ - Any site-local addresses on the system, for example 192.168.0.1.

  • _global_ - Any globally-scoped addresses on the system, for example 8.8.8.8.

The following is an example to bind to localhost as well as any site local addresses on the system such at 192.168.1.42.

cleanspeak-search-engine.hosts=_local_,_site_

cleanspeak-search-engine.servers [String]

A comma separated list of stand-alone search engine servers that will be used by CleanSpeak.

The following is an example of a configuration for two separate search engines, one running on localhost and the other is on remote system.

cleanspeak-search-engine.servers=localhost:8020,search2.example.com:8020

cleanspeak-search-engine.data-directory [String]

The location on disk where CleanSpeak Search Engine will store its data. This value is defaulted if not specified and generally should not be modified.

cleanspeak-search-engine.additional-java-args [String]

Any additional arguments that you want to pass to the Java VM where this service will run.

cleanspeak-webservice.additional-java-args [String]

Any additional arguments that you want to pass to the Java VM where this service will run.

cleanspeak-webservice.http-port [Integer]

The port number that CleanSpeak Webservice will use to accept HTTP requests.

cleanspeak-webservice.https-port [Integer]

The port number that CleanSpeak Webservice will use to accept HTTPS requests.

cleanspeak-webservice.management-port [Integer]

The port number that CleanSpeak Webservice will use for internal Tomcat administration.

cleanspeak-webservice.memory [String]

The amount of memory to allocate dedicate to Java VM where this service will run. Use the M or G suffix to denote megabytes and gigabytes respectively.

For example, 512M will allocate 512 Megabytes to the Java VM and 1G will allocate 1 gigabyte. This value must be an integer, for example use 1536M to allocate 1.5 gigabytes.

cleanspeak-webservice.runtime-mode [String] Defaults to development

The CleanSpeak runtime mode. The runtime mode causes some features to be modified based upon this configuration.

The possible values are:

  • development

  • production

When in the development runtime mode, maintenance mode will interactively assist you configuring the database and connecting to Elasticsearch if configured. Once you move CleanSpeak into production, it is recommended that you modify the runtime mode to production. When in production runtime mode maintenance mode will no longer be available to you which means you can be certain that your system will be sitting waiting for human input to start the upgrade process. When in production mode you will either need to leverage Silent Mode to automatically apply database migrations, or you will need to apply the database migrations yourself (either by hand or via a script of some sort).

cleanspeak-webservice.silent-mode [String] Defaults to false

Determines if CleanSpeak should use Silent Mode during the startup process. Silent Mode automatically applies all database migrations during startup such that you do not need to run them manually. This is the preferred mode when in production.

cleanspeak-webservice.urls [String]

A comma separated list of CleanSpeak Webservice instances.

The following is an example of a single webservice running on localhost.

cleanspeak-webservice.urls=http://localhost:8001

cleanspeak.search-servers [String] Available since 3.23.1 Defaults to http://localhost:8021 Deprecated

Specify the location of your CleanSpeak Search servers. Multiple values may be specified using a comma separator. This configuration is used by CleanSpeak App to connect to the ElasticSearch nodes. The specified port should be the configured value for 'cleanspeak-search-engine.http-port'.

Single host example: http://localhost:8021 Multiple hosts example: http://localhost:8021,http://192.168.1.42:8021

proxy.host [String] Available since 3.23.3

The proxy host used for egress network traffic. To enable this egress proxy, you must configure both the proxy.host and proxy.port.

proxy.port [String] Available since 3.23.3

The proxy port used for egress network traffic. To enable this egress proxy, you must configure both the proxy.host and proxy.port.

proxy.username [String] Available since 3.23.3

The proxy username for egress network traffic. To enable authentication with your proxy, you must configure both the proxy.username and proxy.password.

proxy.password [String] Available since 3.23.3

The proxy password for egress network traffic. To enable authentication with your proxy, you must configure both the proxy.username and proxy.password.

search.servers [String] Available since 3.30.0

The http or https URL to the Elasticsearch service. To specify more than one value, use a comma separated list.

Single host example: http://localhost:8021 Multiple hosts example: http://localhost:8021,http://192.168.1.42:8021

Note the default port of 8021 is used by the cleanspeak-search-service, if you are using a standalone Elasticsearch service the port is more likely 9200.