Deploying HCL Commerce Version 9.1.0.0 to 9.1.5.0 with Docker Compose (for non-production usage)

You can deploy HCL Commerce Version 9.1 simply using Docker Compose. Generally, you deploy an authoring environment and a live environment to work together. In this standard HCL Commerce configuration, you update and modify your store in the authoring environment, and then propagate the changes to the live environment.

Important: This environment should not be used for a live production site as it misses some required production grade components and considerations, such as security hardening, deployment orchestration and load balancing for high availability support, ingress routing, and performance tuning capabilities. To operate HCL Commerce Version 9.1 in a live production environment, you must deploy it in a Kubernetes cluster and commit further time and resources to performance and security considerations.

With load balancing and ingress routing specifically, you can configure which services you want to expose externally, and restrict the remaining services within the cluster network. This configuration limits their access from and exposure to the wider Internet.

Before you begin

  • Consider deploying a version of HCL Commerce 9.1.6.0 or greater.

    The Docker-based deployment was simplified, and features additional automation in the 9.1.6.0 release.

    Specific improvements include:
    • A simplified directory structure for mounted volumes.
      • For the ease of import of essential files into your Docker images, without the need to create or recreate custom images;
      • For persistence of HCL Commerce demo data, in the event that your containers are taken offline or restarted.
      • HCL Commerce Version 9.1.12.0 or laterAutomated deployment of Docker images for use within an HCL Commerce development environment.
      For more information on mounted volumes, see The Docker Compose deployment /volumes/ directory structure and contents.
    • Improved deployment automation. Simply update the required environment information and run a script to configure and deploy HCL Commerce and related applications. This eliminates the need to manual edit your deployment files, which can be error-prone.

      For more information on deployment configuration, see The Docker Compose deployment env.sh configuration file.

  • Review the differences between an authoring and live environment.

    Live
    A live environment includes the capabilities that are required for a running HCL Commerce production site and serve end-user traffic.
    Authoring
    An authoring environment, commonly referred to as auth, includes extra capabilities beyond the capabilities of a live environment. In an authoring environment, site administrators or business users can make changes to your store and then test and preview the changes. Once confirmed to be correct, the changes can then be propagated to the live environment. The authoring environment also has workspaces enabled. This workspace feature allows business users fine-grained control over site changes before they are propagated to the live environment. For more information on the authoring environment, see Authoring environment.

About this task

This section provides a method for deploying an authoring and live environment by using native Docker Compose scripts, without any advanced Docker orchestration tools. Use this method to learn and understand how the authoring and live environments interact. You can also use this method to explore the different application topologies that are required for the various combinations of HCL Commerce solutions that are available. When you are ready to create a production environment to serve end-users, you will want to build a more complex system, for greater and more fine-grained control over your deployment.

Sample Docker Compose Topologies

The following table highlights the sample Docker Compose topologies that are bundled with HCL Commerce Version 9.1. In all cases, you must perform the prerequisite task and configure the environment database(s) to meet the exact specifications required for the deployment. Further customization and experimentation with the deployment is encouraged.

Procedure