Deploying with Solr-based search and an database using Docker Compose

The following steps highlight a basic deployment of with Docker Compose. This deployment is configured to deploy with the Solr-based search solution, and utilizes the as the database solution.

Note: The following steps detail the use of this process with the provided Docker image. This is due to its inclusion within the provided Docker Compose files. This process is not incompatible with Oracle, however its use is outside of the scope of the presented scenario. The prerequisite for this procedure does include all that you will need to know to successfully deploy with Docker Compose using an Oracle database.

Before you begin

  • Ensure that you have completed the prerequisites that are required. For the prerequisites for this Docker Compose deployment, see tdeploydocker91-pre.html.

Procedure

  1. Deploy the authoring environment applications.
    1. Copy the contents of the provided docker-compose-solr-commerce-oracle-auth-template.yml Docker Compose file into your custom docker-compose.yml Docker Compose file.
    2. Update the file to reflect the environment that you want to deploy.
      1. Accept the LICENSE required for all Docker containers. For example, - LICENSE=accept.
      2. Update the image tag for all Docker containers. For example, image: ts-app:9.1.
      3. Update the mandatory configuration parameters for the Transaction container.
        For example,
        
        - adminPassword=passw0rd 
        - SPIUSER_NAME=spiuser 
        - SPIUSER_PWD=DFrt/KnXFukMl3VyuSg4vYm6f7Y7f1RogMUIUAdMakk= 
           
        - DBHOST=authdb.hclcommerce.com   
        - DBNAME=orclpdb1
        - DBUSER=wcs
        - DBPASS=wcs1
        - DBPORT=1521  
        - DBTYPE=oracle
        - DBAUSER=system  
        - DBAPASSENCRYPT=u5fOjsJvd7QYYs29qTnqx418LVytXLHxhEu1Pg5IrzQ=  
        - DBPASSENCRYPT=WVRDsn+rEpaSbm59Iw/yoYsNnH1U2ovg52j5nzdW1L0=   
        
        - JWKS={base64}eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJraWQiOiJrMSIsIm4iOiJtc1NIbE9pVlRFRUgzMW9KYk1XcTFWU3NsS1dHRnAybmlpdUdzR293Qk5zR1hLWGU0SDI4cWlMZmdIMWVGdWVmdl81cEZOSUlKYlVSUjBkVWtPWGlxTDRrNTBxQ1Nmemo4S0ROTmsyYV9KakdobTZ6dFNPTnBtSDdzSWZJX2o3YlF4WWNzaVN4cklSWnBSOGdNem5TNmV2VXJmMWZZVWpVbEszd2RoMi1vc2t6NTVGR1A4YXdCRnlQTEhWbmo5S1VtaU1zdHR2eTg1VW9COTBuT3d5U0Q5UHl3clF3el9pMlIzcUVIYWJSQ0FVOGY4MnRKTE9HeWxrbUhnY2NaYmk0d0FBWG1JemJwTzVxYTFrV2lBVGMyRjVYTGNUOE1KVHZRdkZPWFNjTGs5LTBWYzNpYnF3WEx4Slg0MENVbUpzSEdESTZ2c3hPWEh1LXBfVW5HOV91bVEiLCJlIjoiQVFBQiIsImQiOiJCMmRGVVJNN0tSV25TY0RsMklVd0lkcFdFeHBENnNzSjI2c3ZXenNKSndKUE1KbGlxdng0ek82MElGSmU4TnVOb2NLS3hrc3h4cFA5eXBvWDZvS0VzQ3ZBV2l3UFJYaktjcFZPbTcxa241YXpVSFQxTmNJSW9aX29TVTZGaDl2NzR4Nm9xc0RrbXVzTjJyODliQlhsQl9tWEItZXA2MTV2aE5rNU9uMDd4RS1ta2cwb1Y4VXRlVnVjNy0wMzA5NzFBdGJnbExQZ3BPZHFnczc5cGVjWXVxVlE1WHlQcVZMSnBraHBDbFgzOWQzazFGUy01YXo5Uk9BaVRHMEhUYi03MVlSTzVvYlFpc01JOXE0ZTAwaHIyR3B1bzFJb3dmLUlJN213SzRRanU3aVhBRHI0eF9WSHVHeUJaY1p4NVBueVJUaGpsREx4TUtVOHFsc2dlRTdHOFEiLCJwIjoiMFByVmZud0lSdkJkRjZvanBxUzM2NzdaYVdXWWJSQ3N1Ynd6aWxiQTdTYzU0LXBCV0hxZ2Q2YlYxMHpCdWhGWnZwa0QxV00wbGJqMmNzTzhvZTRHZjREZ0N6UkpzdEtjNnhwbFVhVzZzeGE0RklidERNVUpEa3JGLW5uUWdDSk41b21fNkRvc0k1OEdXVDFvMllOTE9pSVE0Z2NhYmVheUVIZDNJUmZTQUhVIiwicSI6InZaY1lneTFlSFdzZTRaOE03M1RoUTE4WUtXelR0RFJsX085WTVaT2pObDBnQkFCQ3ZHcGdQOWk4NXJ1VXk0WTgzbnhDTUdjYjVPbHI2ZV9JQW9kMENLT2lxeEZtNjV5MEFBaVlnOW5HN1ZlaVFUTzRwMDE0N0RlaDBxX3pFR1UyYzFWOUNFR1BhVUhNcEdSZGc4UVRCc01mRTVZWEx2ZkE2dVVqWllWaHNSVSIsImRwIjoiTFlRVWItSVA0M09Dc3g3SmVRZ3pUdE5ZZ3c0dnJzR01fVDh5Y3BVR25DQ0pDVTBDUW9VaTRpeWlNcXh6SFZXZUdGYzNjSWlVOFc5QnJpbFhzbVVuWVNudW9rSVhNeTJRSTl5eDZLQ1NFMk9GWUdNcXlqYzRDN2JaZV82QUhRaGJzelNaYWJrUjJBaFExNnI2WlRXbGN0bnNsMjQ0b1dzM3FVSjczZWRVUS1rIiwiZHEiOiJlYWF1TDkyNGVoXzJITWUxd1NDNk9rU1dlRjVBS1cxRjA5cXdxXzdqeDBwUjlMOUdFeWdld2xrTVBQRTROS19aOXRpOGo5cFpaN1R2YlpoU09tMDM0eU04aVpBTV9qbjZ0ZHJPSWl4bkhId1N2TXUzUElMVmlKeloxUnJaV0RmWmpIX2FUcVhpbzZONDhETUdYam8tQ3lUQW1BekNxM3lGNlROR1Z5b1MyVkUiLCJxaSI6IllUWFI4QjVRUE1jbzIzelo2Wi1jLTFhSVJuOF9BRWk5TGplZ2xEaVJ0T2E4dHpPZUdQeU9mX0h4WnpzMFItaVdpMWFET1dWR2tDd1pLdG5Uc2lMdFBQRUdSVzFRNXZlVHdZdjVlWHozR2F2VTBzS2RLQzBJSkpJaWdNa053UFIxLU5hLTRBVHprQ0pqbGd3QVFHZ0FySTR5Vk1TR2RGYXpCRm9FdjM3OTFkWSJ9XX0= 
        - JWKS_KEYID=k1  
        
        - TOOLING_BASE_URL=https://auth.hclcommerce.com:7443/tooling 
        - STOREWEB_HOST=auth.hclcommerce.com 
         
      4. Update the configuration for your search-master container.
        For example,
        - adminPassword=passw0rd
        - SPIUSER_NAME=spiuser 
        - SPIUSER_PWD=DFrt/KnXFukMl3VyuSg4vYm6f7Y7f1RogMUIUAdMakk= 
        
        - DBTYPE=oracle
        - DBHOST=authdb.hclcommerce.com
        - DBPORT=1521 
        - DBNAME=orclpdb1
        - DBUSER=wcs 
        - DBAUSER=system 
        - DBPASS=wcs1 
        - DBAPASSENCRYPT=u5fOjsJvd7QYYs29qTnqx418LVytXLHxhEu1Pg5IrzQ= 
        - DBPASSENCRYPT=WVRDsn+rEpaSbm59Iw/yoYsNnH1U2ovg52j5nzdW1L0= 
      5. Update the base64SpiUserPassword parameter within the health check section of the search-master container, to the base64 encoded values of spiUser:spiPassword.
        You can obtain this value by passing the values through the base64 system utility:
        echo -n "spiUser:spiPassword" | base64
        For example, the resulting value is c3BpdXNlcjpwYXNzdzByZA== with the default spiuser:passw0rd combination.
    3. Copy the Oracle JDBC JDK8 driver (ojdbc8.jar) to the same location where your Docker Compose file is located, if you have not already.
    4. Start the authoring environment.
      Run docker-compose up -d.
    5. Verify that all of the Docker containers are up and healthy.
      Run docker-compose ps.
  2. Deploy the live environment applications.
    1. Copy the contents of the provided docker-compose-solr-commerce-oracle-live-template.yml Docker Compose file into your custom docker-compose.yml Docker Compose file.
    2. Update the file to reflect the environment that you want to deploy.
      1. Accept the LICENSE required for all Docker containers. For example, - LICENSE=accept.
      2. Update the image tag for all Docker containers. For example, image: ts-app:9.1.
      3. Update the following configuration parameters for the .
        For example,
        - adminPassword=passw0rd  
        - SPIUSER_NAME=spiuser 
        - SPIUSER_PWD=DFrt/KnXFukMl3VyuSg4vYm6f7Y7f1RogMUIUAdMakk= 
        
        - DBTYPE=oracle 
        - DBHOST=livedb.hclcommerce.com 
        - DBPORT=1521 
        - DBNAME=orclpdb1  
        - DBUSER=wcs 
        - DBPASS=wcs1 
        - DBAUSER=system 
        - DBAPASSENCRYPT=u5fOjsJvd7QYYs29qTnqx418LVytXLHxhEu1Pg5IrzQ= 
        - DBPASSENCRYPT=WVRDsn+rEpaSbm59Iw/yoYsNnH1U2ovg52j5nzdW1L0= 
           
        - JWKS={base64}eyJrZXlzIjpbeyJrdHkiOiJSU0EiLCJraWQiOiJrMSIsIm4iOiJtc1NIbE9pVlRFRUgzMW9KYk1XcTFWU3NsS1dHRnAybmlpdUdzR293Qk5zR1hLWGU0SDI4cWlMZmdIMWVGdWVmdl81cEZOSUlKYlVSUjBkVWtPWGlxTDRrNTBxQ1Nmemo4S0ROTmsyYV9KakdobTZ6dFNPTnBtSDdzSWZJX2o3YlF4WWNzaVN4cklSWnBSOGdNem5TNmV2VXJmMWZZVWpVbEszd2RoMi1vc2t6NTVGR1A4YXdCRnlQTEhWbmo5S1VtaU1zdHR2eTg1VW9COTBuT3d5U0Q5UHl3clF3el9pMlIzcUVIYWJSQ0FVOGY4MnRKTE9HeWxrbUhnY2NaYmk0d0FBWG1JemJwTzVxYTFrV2lBVGMyRjVYTGNUOE1KVHZRdkZPWFNjTGs5LTBWYzNpYnF3WEx4Slg0MENVbUpzSEdESTZ2c3hPWEh1LXBfVW5HOV91bVEiLCJlIjoiQVFBQiIsImQiOiJCMmRGVVJNN0tSV25TY0RsMklVd0lkcFdFeHBENnNzSjI2c3ZXenNKSndKUE1KbGlxdng0ek82MElGSmU4TnVOb2NLS3hrc3h4cFA5eXBvWDZvS0VzQ3ZBV2l3UFJYaktjcFZPbTcxa241YXpVSFQxTmNJSW9aX29TVTZGaDl2NzR4Nm9xc0RrbXVzTjJyODliQlhsQl9tWEItZXA2MTV2aE5rNU9uMDd4RS1ta2cwb1Y4VXRlVnVjNy0wMzA5NzFBdGJnbExQZ3BPZHFnczc5cGVjWXVxVlE1WHlQcVZMSnBraHBDbFgzOWQzazFGUy01YXo5Uk9BaVRHMEhUYi03MVlSTzVvYlFpc01JOXE0ZTAwaHIyR3B1bzFJb3dmLUlJN213SzRRanU3aVhBRHI0eF9WSHVHeUJaY1p4NVBueVJUaGpsREx4TUtVOHFsc2dlRTdHOFEiLCJwIjoiMFByVmZud0lSdkJkRjZvanBxUzM2NzdaYVdXWWJSQ3N1Ynd6aWxiQTdTYzU0LXBCV0hxZ2Q2YlYxMHpCdWhGWnZwa0QxV00wbGJqMmNzTzhvZTRHZjREZ0N6UkpzdEtjNnhwbFVhVzZzeGE0RklidERNVUpEa3JGLW5uUWdDSk41b21fNkRvc0k1OEdXVDFvMllOTE9pSVE0Z2NhYmVheUVIZDNJUmZTQUhVIiwicSI6InZaY1lneTFlSFdzZTRaOE03M1RoUTE4WUtXelR0RFJsX085WTVaT2pObDBnQkFCQ3ZHcGdQOWk4NXJ1VXk0WTgzbnhDTUdjYjVPbHI2ZV9JQW9kMENLT2lxeEZtNjV5MEFBaVlnOW5HN1ZlaVFUTzRwMDE0N0RlaDBxX3pFR1UyYzFWOUNFR1BhVUhNcEdSZGc4UVRCc01mRTVZWEx2ZkE2dVVqWllWaHNSVSIsImRwIjoiTFlRVWItSVA0M09Dc3g3SmVRZ3pUdE5ZZ3c0dnJzR01fVDh5Y3BVR25DQ0pDVTBDUW9VaTRpeWlNcXh6SFZXZUdGYzNjSWlVOFc5QnJpbFhzbVVuWVNudW9rSVhNeTJRSTl5eDZLQ1NFMk9GWUdNcXlqYzRDN2JaZV82QUhRaGJzelNaYWJrUjJBaFExNnI2WlRXbGN0bnNsMjQ0b1dzM3FVSjczZWRVUS1rIiwiZHEiOiJlYWF1TDkyNGVoXzJITWUxd1NDNk9rU1dlRjVBS1cxRjA5cXdxXzdqeDBwUjlMOUdFeWdld2xrTVBQRTROS19aOXRpOGo5cFpaN1R2YlpoU09tMDM0eU04aVpBTV9qbjZ0ZHJPSWl4bkhId1N2TXUzUElMVmlKeloxUnJaV0RmWmpIX2FUcVhpbzZONDhETUdYam8tQ3lUQW1BekNxM3lGNlROR1Z5b1MyVkUiLCJxaSI6IllUWFI4QjVRUE1jbzIzelo2Wi1jLTFhSVJuOF9BRWk5TGplZ2xEaVJ0T2E4dHpPZUdQeU9mX0h4WnpzMFItaVdpMWFET1dWR2tDd1pLdG5Uc2lMdFBQRUdSVzFRNXZlVHdZdjVlWHozR2F2VTBzS2RLQzBJSkpJaWdNa053UFIxLU5hLTRBVHprQ0pqbGd3QVFHZ0FySTR5Vk1TR2RGYXpCRm9FdjM3OTFkWSJ9XX0= 
        - JWKS_KEYID=k1 
           
        - TOOLING_BASE_URL=https://live.hclcommerce.com:7443/tooling 
           
        - ELASTICSEARCH_ENABLED=false 
        
        - STOREWEB_HOST=live.hclcommerce.com 
         
      4. Update the following configuration for the search-repeater and search-slave containers:
        Parameter name Description
        SPIUSER_NAME Your SPIUSER name. The default value is spiuser.
        SPIUSER_PWD The encrypted password for the spiuser. For more information, see tiginstall_definespi.html
        DBHOST The database hostname.
        DBNAME The name of the database.
        DBUSER The database user name.
        DBPASS The database user password.
        DBTYPE The database type.
        For example,
        - SPIUSER_NAME=spiuser 
        - SPIUSER_PWD=DFrt/KnXFukMl3VyuSg4vYm6f7Y7f1RogMUIUAdMakk= 
         
        - DBHOST=livedb.hclcommerce.com 
        - DBNAME=orclpdb1 
        - DBUSER=wcs 
        - DBPASS=wcs1 
        - DBPORT=1521 
        - DBTYPE=oracle 
        
      5. Update the search-master host configuration for the search-repeater containers:
        Parameter name Description
        search_master The IP and port of the search node to poll from. Mandatory for the search-repeater/subordinate on the live environment.
        • For the search-repeater node, specify the
          search-master-ip:3737
        • For the search-subordinate node, specify the
          search-repeater-ip:3737
        For example,
        - "search_master:searchmaster.hclcommerce.com"
      6. Update the base64SpiUserPassword parameter within the health check section of the search-repeater and search-slave containers, to the base64 encoded values of spiUser:spiPassword.
        You can obtain this value by passing the values through the base64 system utility:
        echo -n "spiUser:spiPassword" | base64
        For example, the resulting value is c3BpdXNlcjpwYXNzdzByZA== with the default spiuser:passw0rd combination.
    3. Ensure that the Oracle ojdbc8 driver (ojdbc8.jar) is still in the same location where the Docker Compose file (docker-compose.yml) is located. If it is not, place a copy there.
    4. Start the live environment.
      Run docker-compose up -d.
    5. Verify that all of the Docker containers are up and healthy.
      Run docker-compose ps.

Results

Your production environment is now running via the Docker Compose deployment method.

What to do next

  1. Build your Search index. For information on building your Search index, see ../../search/tasks/tsdsearchbuildindex.html.
  2. Access your new environment tools:
    • : https://commerceHost:8000/lobtools
    • The Aurora B2C starter store: https://commerceHost:8443/wcs/shop/en/auroraesite
    • The Aurora B2B starter store: https://commerceHost:8443/wcs/shop/en/aurorab2besite