The Docker Compose deployment env.sh configuration file
The env.sh configuration file
The env.sh configuration script contains all deployment environment and topology configurations for the Docker Compose deployment method.
It is recommended to maintain different copies of the environment file for each
deployment configuration. For example, you can have env.sh.auth
,
env.sh.live
, env.sh.data
for auth, live and
data deployments respectively.
This makes follow-up deployments and tear downs significantly easier.
You must, however, rename the corresponding file for each deployment to
env.sh
before running the deploy script
(step #3 of the
deployment). This is also true of the teardown script that is
used to bring down a running deployment.
Deploying HCL Commerce Search with Elasticsearch
Due to the high resource requirements of Elasticsearch-based Search, it has been separated into its own, separate deployment. This feature of the overall Docker deployment process allows for you to manage your compute resources, and to account for performance requirements or resource limitations by allowing for multiple machines or virtual machines to host different parts of the overall deployment.
Because of this separation, if you are deploying HCL Commerce with the Elasticsearch-based search solution, you must configure and deploy (step #2 and 3) twice. Once for the HCL Commerce applications, and a second time for the Elasticsearch-based Search. The order of these deployments is not consequential.
Examples of the topology configuration required for deploying Elasticsearch-based Search are detailed in the following topology section.
env.sh configuration overview
Deployment section
This section defines the deployment configuration parameters that define the applications that are included.
- DEPLOY_TYPE controls whether the deployment is for the
HCL Commerce application, the Elasticsearch-based Search platform,
or the required containers for an HCL Commerce Developer
installation.
Accepted values are commerce, data, or toolkit.
- SEARCH_ENGINE defines the search engine that is used by
HCL Commerce.
Accepted values are solr, or elasticsearch.
These values define the search infrastructure and search configuration for the deployment. This configuration and infrastructure also depends on the ENV_TYPE parameter.
- ORCHESTRATION_ENABLED and ORCHESTRATION_IMAGE enable the ability to deploy and test the Orchestration service within an HCL Commerce development environment.
This section defines the license acceptance requirement, LICENSE_ACCEPTED, that is required for HCL Commerce to operate.
Common sectionThis section defines the HCL Commerce environment and server host information.
ENV_TYPE defines the HCL Commerce environment type for the deployment. The primary impact of this within the deployment context is the database that is used, as well as how the search infrastructure is configured to be queried.
Accepted values are auth for an authoring environment, and live for a live environment.
You can deploy an authoring environment to explore the full functionality of HCL Commerce, or both an authoring and live environment to explore and experiment with the non-production to production publishing capabilities that this advanced production deployment topology provides.
Database sectionThis section defines the database connection information that is used by the HCL Commerce deployment.
LDAP sectionLDAP_ENABLE=true
LDAP_USE_VMM_PROPERTIES_FILE=true
You must then define your LDAP configuration using the vmm.properties configuration file, within your /volumes/ directory.
For more information, see Docker-based deployment LDAP configuration.
Application sectionsThese sections includes application specific configurations. Each Docker image and its tag can be defined within its corresponding application configuration section.
Integration sectionsThese sections include integration specific configurations.
MQ_ENABLE=true
MQ_HOST=<Hostname of MQ server>
MQ_PORT=<Port number of MQ server>
MQ_QUEUE_MANAGER_NAME=<MQ Queue Manager used by commerce to connect to MQ server >
MQ_ERROR_QUEUE_NAME=<IBM MQ Error Queue Name >
MQ_INBOUND_QUEUE_NAME=<IBM MQ Queue Name >
MQ_SERIAL_INBOUND_QUEUE_NAME=<IBM MQ Queue Name to process message in serial manner >
MQ_PARALLEL_INBOUND_QUEUE_NAME=< IBM MQ Queue Name to process message in parallel manner>
MQ_OUTBOUND_QUEUE_NAME=<IBM MQ Outbound Queue Name>
Additional configuration is required. For more information on IBM MQ integration, see Integrating IBM MQ with HCL Commerce.
Feature sectionsThese sections include feature specific configurations.
MARKETPLACE_PREVIEW_ENABLED=true
Additional configuration is required. For more information on enabling Marketplace, see Enabling HCL Commerce Marketplace functionality within a Docker-based deployment.
env.sh topology examples
The following examples only highlight the parameters that specifically dictate your deployment applications and the resulting topology. Additional parameters, such as the licensing and database sections, are also required. Some configurations, such as specific application configurations, or those of your live database, are only required when your deployment topology requires them.
SEARCH_ENGINE=elasticsearch|solr
DEPLOY_TYPE=commerce
ENV_TYPE=live|auth
SEARCH_ENGINE=elasticsearch
DEPLOY_TYPE=data