Starting the Transaction server Docker container by retrieving parameters from container environment variables

Learn about how to start Transaction server Docker container by specifying CONFIGURE_MODE=EnvVariables.

Mandatory environment variables

These are the mandatory environment variables that you must specify to configure the Transaction server Docker container.

Note: The database parameters are mandatory when you are not using the default configurations. If you point to a different database, you must specify all database-related parameters.
Parameter name Value
DBHOST
Note: If you need to point to a different database, you must specify all database-related parameters.
The database hostname.
DBNAME The name of the database.
DBUSER The database user name.
DBPASS The database user password, which is used to connect the database to the application server.
DBPORT The database port.
DBAUSER The user name of the database administrator.
DBAPASSENCRYPT The encrypted password of the database administrator.
DBPASSENCRYPT The encrypted password of the database user, which is used to update the wc-server.xml file.
MERCHANTKEY_ENCRYPT The encrypted merchant key that was created when you or an administrator loaded the WebSphere Commerce database schema. For more information, see Loading the HCL Commerce database schema.
SPIUSER_NAME Your SPIUSER name. The default value is spiuser.
HCL Commerce Version 9.1.7.0 or laterNote: This value is optional as of HCL Commerce 9.1.7.0.
SPIUSER_PWD The encrypted password for the spiuser. For more information, see Setting the spiuser password in your Docker images.
STOREWEB_HOST A unique hostname for use with the Management Center Store preview feature.
SEARCH_HOST The Search server hostname.
  • For Solr-based search, this is the Search Master hostname.
  • For Elasticsearch-based search, this is the Commerce query hostname.
STORE_HOST Store server hostname. The default port is 8443.
XC_HOST Customization server hostname. The default port is 9443.
SEARCH_REPEATER_HOST The Search Repeater hostname for live environments.
Note: This is only required when the environment type is live.
HCL Commerce Version 9.1.12.0 or laterSESSION_KEY_ENCRYPT The encrypted session key.
Note: This parameter was optional in all releases prior to HCL Commerce 9.1.12.0.

Optional environment variables

These are the optional environment variables that you can specify to configure the Transaction server Docker container.

Parameter name Value
DOMAIN_NAME The internal service domain name. The default value is : default.svc.cluster.local. If the deployed environment is on a special namespace on Kubernetes, the domain name should be .svc.cluster.local.
DBHOST_LIVE The database host name in the live environment.
DBNAME_LIVE The name of the database in the live environment.
DBPASS_LIVE The database user password in the live environment.
DBPORT_LIVE The database port in the live environment.
DBUSER_LIVE The database user name in the live environment.
LOCALSTOREWEB The web server host name of a local store if you migrated from HCL Commerce Version 7 or Version 8.
adminPassword The password for user configadmin, which is used to access the WebSphere Application Server Administrative Console.
TRACE_SPEC Sets trace specifications. For more information about trace, see Trace components.
KAFKA_SERVERS The Kafka server. Works with ZOOKEEPER_SERVERS if you want to configure the container to catch validation.
Note: The KAFKA_SERVERS, ZOOKEEPER_SERVERS, and KAFKA_TOPIC_PREFIX parameters must be provided together.
ZOOKEEPER_SERVERS Works with KAFKA_SERVERS, if you want to configure the container to catch validation.
KAFKA_TOPIC_PREFIX This parameter is used to compose the queue name for the cache invalidation.
HEALTH_CENTER_ENABLED Specify whether Health Center is enabled. Accepted values are true and false.

The default value is false.

SESSION_KEY_ENCRYPT The encrypted session key.
Note: This parameter is mandatory in all releases HCL Commerce 9.1.12.0 and greater.
SEARCH_PORT Self-defined Search server port.
  • For Solr-based search, the default value is 3738.
  • For Elasticsearch-based search, the default value is 30901.
STORE_PORT Self-defined store server port. The default value is 8443.
STOREWEB_PORT Self-defined store web server port. The default value is 443.
XC_PORT Self-defined Customization server port. The default value is 9443.
ENVTYPE The environment type. Accepted values are auth and live.
Note: If you set this parameter to live, you must also pass the SEARCH_REPEATER_HOST parameter.
EXPOSE_METRICS Specify if you want to enable metrics for the commerce environment.
DB_SSLENABLE Specify whether to enable the SSL protocol for connections to the database. Accepted values are true and false. The default value is false.
DB_XA Specify if the XA function has been enabled for the database. Accepted values are true and false. The default value is false.
DBTYPE The database type. Accepted values are db2 and oracle.
DB_XA_LIVE Specify if the XA function has been enabled for the live database. Accepted values are true and false. The default value is false.
DB_SSLENABLE_LIVE Specifies whether to enable the SSL protocol for connections to the live database. Accepted values are true and false. The default value is false.
REACT_STORE_PORT The React store port. The default value is 6443.
ELASTICSEARCH_PORT The Elasticsearch port. The default value is 30200.
REACT_STORE_SERVICE_PORT The React store service port. The default value is 6443.
DX_HOST The HCL Digital Experience (DX) host name. This is required to integrate HCL Commerce with DX.
Note: This integration is only supported on a Kubernetes deployment.
DX_PORT The HCL Digital Experience (DX) port number. The Default value is set to 443 if the DX hostname has been set and there is no custom value specified.
DX_SCHEME The HCL Digital Experience (DX) scheme. The Default value is set to https if the DX host name has been set and there is no custom value specified.
HCL Commerce Version 9.1.6.0 or laterENABLE_JSON_LOGGING
HCL Commerce Version 9.1.6.0 or laterSpecify whether to enable or disable JSON logging for all application servers. Set this parameter to true, if you want to enable JSON logging for all application servers. The default value is false.
Note: JSON is a structured data format. This makes it possible for you to search, filter, and analyze the logs of all application servers.
HCL Commerce Version 9.1.12.0 or laterALLOWED_DOMAIN Specify entire domains which HCL Commerce allows redirection to. Domain names are delineated by a comma, modules are delineated by a semi-colon.
Stores:domain1.com,domain2.com;LOBTools:domain3.com,domain4.com
HCL Commerce Version 9.1.12.0 or laterALLOWED_HOST Specify exact host names which HCL Commerce allows redirection to. Host names are delineated by a comma, modules are delineated by a semi-colon.
Stores:host1.domain1.com,host2.domain1.com;LOBTools:host3.domain2.com,host4.domain2.com

Code example

For a Solr-based search deployment:
docker run -it -e LICENSE=accept  \
    -e CONFIGURE_MODE=EnvVariables
    -e MERCHANTKEY_ENCRYPT=<encrypted merchantkey that you encrypted with wcs_encrypt.sh> \
    -e SPIUSER_NAME=<your spiuser-name> \
    -e SPIUSER_PWD=<your spiuser password that you encrypted with wcs_encrypt.sh> \
    -e DBHOST=<db hostname> \
    -e DBNAME=<db instance name> \
    -e DBPASS=<db user password> \
    -e DBPORT=<db port> \
    -e DBUSER=<db user> \
    -e STOREWEB_HOST=<Store server hostname for Store preview that can be accessed from your browser. Default port is 443> \
    -e STORE_HOST=<store server hostname, default port is 8443> \
    -e SEARCH_HOST=<search master server hostname, default port is 3738>\
    -e XC_HOST=<search server hostname, default port is 3738>\
    <Transaction Docker image>
For an Elasticsearch-based search deployment:
docker run -it -e LICENSE=accept  \
    -e CONFIGURE_MODE=EnvVariables
    -e MERCHANTKEY_ENCRYPT=<encrypted merchantkey that you encrypted with wcs_encrypt.sh> \
    -e SPIUSER_NAME=<your spiuser-name> \
    -e SPIUSER_PWD=<your spiuser password that you encrypted with wcs_encrypt.sh> \
    -e DBHOST=<db hostname> \
    -e DBNAME=<db instance name> \
    -e DBPASS=<db user password> \
    -e DBPORT=<db port> \
    -e DBUSER=<db user> \
    -e STOREWEB_HOST=<Store server hostname for Store preview that can be accessed from your browser. Default port is 443> \
    -e STORE_HOST=<store server hostname, default port is 8443> \
    -e SEARCH_HOST=<commerce query server hostname, default port is 3738>\
    -e XC_HOST=<search server hostname, default port is 3738>\-e TOOLING_BASE_URL =< tooling web server base url>\
    -e JWKS =<Json Web Key Set>\
    -e JWKS_KEYID =<Json Web Key Set Key ID>\
    -e REACT_STORE_HOST =< Hostname for react store host. (Only required when elasticsearch enabled)>\
    -e REACT_STORE_SERVICE_HOST =< Hostname for react store service host. (Only required when elasticsearch enabled)>\
    -e ELASTICSEARCH_ENABLED =< Specify if the env should use elastic search or solr search >\
    -e INGEST_HOST =< Hostname for ingest service. Default value is ingest. (Only required when elasticsearch enabled)>\
    -e ELASTICSEARCH_HOST =< Hostname for elasticsearch server. Default value is elasticsearch. (Only required when elasticsearch enabled)>
    <Transaction Docker image>