Sitecore Commerce module reference

Current version: 10.2

Sitecore Experience Commerce (XC) provides module asset images that you use to create custom Sitecore Commerce Docker images. These asset images are available in Sitecore Container Registry (SCR), and contain all the content and scripts required to include a Sitecore XC module in your Sitecore Experience Platform (XP) solution build.

Sitecore provides the following XC module asset images:

  • sitecore-xc0-assets - This image contains the required XC0 assets you add to a Sitecore Experience Platform - Single (XP0) configuration.

    Note

    The sitecore-xc0-assets image does not include the sample SXA Storefront.

  • sitecore-xc1-assets - This image contains the required XC1 assets you add to a Sitecore Experience Platform distributed deployment (XP1) configuration.

    Note

    The sitecore-xc1-assets image does not include the sample SXA Storefront.

  • sitecore-xc1-storefront-assets - This image contains the required sample SXA storefront assets you add to a Sitecore Experience Platform distributed (XP1) configuration.

    Note

    The sitecore-xc1-storefront-assets image requires the content from the sitecore-xc1-assets image as a prerequisite.

You can refer to the Sitecore.Commerce.Containers.SDK for examples of how Sitecore XC assets are used in Sitecore XP0 and XP1 configurations. The Sitecore.Commerce.Containers.SDK is available on the Sitecore Downloads site.

Assets image instructions

The following details the contents that you must add to your custom Dockerfile file to make use of Sitecore XC module assets when you build custom images.

Each XC module corresponds to a topology configuration, and contains all assets required to include the roles used in the topology.

sitecore-xc0-assets module

Image repository

  • scr.sitecore.com/sxc/xc0-assets

Dockerfile instructions

  • mssql:

    RequestResponse
    FROM <xc0-assets-image> AS assets1
    COPY --from=assets C:\module\db C:\dacpacs
    COPY --from=assets C:\module\tools\scripts  C:\tools
    RUN C:\DeployDatabases.ps1 -ResourcesDirectory C:\dacpacs -DatabaseOwner "sa" -EnableContainedDatabaseAuth; `
     .\tools\DeployRoles.ps1 -coreDatabaseName $env:SITECORE_CORE_DB; `
     Remove-Item .\dacpacs -Recurse -Force; `
     Remove-Item .\tools -Recurse -Force;
    
  • solr-init:

    RequestResponse
    FROM <xc0-assets-image> AS assets
    ENV SOLR_SITECORE_CONFIGSET_SUFFIX_NAME=_config `
        SOLR_REPLICATION_FACTOR=1 `
        SOLR_NUMBER_OF_SHARDS=1 `
        SOLR_MAX_SHARDS_NUMBER_PER_NODES=1 `
        SOLR_CORE_PREFIX_NAME=sitecore `
        SOLR_XDB_SCHEMA_FILE=${SOLR_XDB_SCHEMA_FILE} `
        TOPOLOGY=${XC_TOPOLOGY} `
        SOLR_COMMERCE_PREFIX_NAME=commerce `
        SOLR_COMMERCE_POSTFIX_NAME=Scope `
        SOLR_COMMERCE_REBUILD_POSTFIX_NAME=-Rebuild
    
    COPY --from=assets C:\module\solr C:\data
    COPY --from=assets C:\module\tools\scripts\New-SolrCore-Commerce.ps1 C:\module\tools\scripts\Start-Commerce.ps1  C:\
    
    ENTRYPOINT .\Start-Commerce.ps1 -SitecoreSolrConnectionString $env:SITECORE_SOLR_CONNECTION_STRING `
    -SolrCorePrefix $env:SOLR_CORE_PREFIX_NAME `
    -SolrSitecoreConfigsetSuffixName $env:SOLR_SITECORE_CONFIGSET_SUFFIX_NAME `
    -SolrReplicationFactor $env:SOLR_REPLICATION_FACTOR `
    -SolrNumberOfShards $env:SOLR_NUMBER_OF_SHARDS `
    -SolrMaxShardsPerNodes $env:SOLR_MAX_SHARDS_NUMBER_PER_NODES `
    -SolrXdbSchemaFile .\data\schema.json `
    -CommerceSolrConnectionString $env:Commerce_SOLR_CONNECTION_STRING `
    -SolrCommercePrefix $env:SOLR_COMMERCE_PREFIX_NAME `
    -SolrCommercePostfix $env:SOLR_COMMERCE_POSTFIX_NAME `
    -SolrCommerceRebuildPostfix $env:SOLR_COMMERCE_REBUILD_POSTFIX_NAME
  • cm:

    RequestResponse
    FROM <xc0-assets-image> AS assets
    WORKDIR c:/inetpub/wwwroot
    
    COPY --from=assets module/cm/content/inetpub/wwwroot .
    COPY --from=assets module/cm/content/Permissions C:\Permissions
    COPY --from=assets module/cm/content/xdts C:\xdts
    COPY --from=assets module/tools  C:\tools
    
    RUN New-Item -Path C:\inetpub\wwwroot\App_Config -Name Security-Shared -ItemType directory; `
        c:\tools\nuget.exe install Microsoft.Web.Xdt -Version 3.0.0 -OutputDirectory C:\tools -ExcludeVersion; ` 
        c:\tools\scripts\Invoke-XdtTransformations.ps1 -TargetPath c:\inetpub\wwwroot -XdtPath c:\xdts -XdtDllPath c:\tools\Microsoft.Web.Xdt\lib\netstandard2.0\Microsoft.Web.XmlTransform.dll;`
        Push-Location c:/inetpub/wwwroot/App_Config/Include/Y.Commerce.Engine; `
        Rename-Item Sitecore.Commerce.Engine.DataProvider.config.disabled Sitecore.Commerce.Engine.DataProvider.config; `
        Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Common.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Common.config; `
        Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Solr.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Solr.config; `
        Pop-Location; `
        Remove-Item -Path "./XConnectFiles/" -Recurse -Force;
  • xconnect:

    RequestResponse
    FROM <xc0-assets-image> AS assets
    WORKDIR /inetpub/wwwroot
    
    COPY --from=assets module/xconnect/content/inetpub/wwwroot C:\module
    COPY --from=assets module/ xconnect/content/inetpub/wwwroot /App_data .\App_data\
    
    RUN Copy-Item -Path "C:\module\*.dll" -Destination "C:\inetpub\wwwroot\bin"; `
        Remove-Item -Path "C:\module" -Recurse -Force;
  • xdbsearchworker:

    RequestResponse
    FROM <xc0-assets-image> AS assets
    WORKDIR /service
    COPY --from=assets module/xdbsearchworker/content/inetpub/wwwroot/App_Data/jobs/continuous/IndexWorker .
  • xdbautomationworker:

    RequestResponse
    FROM <xc0-assets-image> AS assets
    FROM <xc0-assets-image> AS assets
    WORKDIR /service
    COPY --from=assets module/ xdbautomationworker/content/inetpub/wwwroot/App_Data/jobs/continuous/AutomationEngine .

sitecore-xc1-assets module

Image repository

  • scr.sitecore.com/sxc/sitecore-xc1-assets

Dockerfile instructions

  • mssql-init:

    RequestResponse
    FROM <xc1-assets-image> AS assets
    COPY --from=assets C:\module\db C:\resources
    COPY --from=assets C:\module\tools\scripts\StartCommerceInit.ps1 C:\module\tools\scripts\DeployRoles.ps1 C:\module\tools\scripts\CreateExternalDataSources.ps1  C:\
    
    ENTRYPOINT .\StartCommerceInit.ps1 -ResourcesDirectory $env:RESOURCES_PATH -SqlServer $env:SQL_SERVER -SqlAdminUser $env:SQL_ADMIN_LOGIN -SqlAdminPassword $env:SQL_ADMIN_PASSWORD -SitecoreAdminPassword $env:sitecore_admin_password -SqlElasticPoolName $env:SQL_ELASTIC_POOL_NAME -CoreDatabaseName $env:SITECORE_CORE_DB -SharedDatabaseName $env:XC_SHARED_DB -ArchiveDatabaseName $env:XC_SHARED_ARCHIVE_DB -MasterkeyPassword $env:XC_DB_Masterkey_Password  `
        -DatabaseUsers @( `
        @{'databaseName' = 'Sitecore.Master'; 'username' = $env:Master_Database_Username; 'password' = $env:Master_Database_Password}, `
        @{'databaseName' = 'Sitecore.Core'; 'username' = $env:Core_Database_Username; 'password' = $env:Core_Database_Password}, `
        @{'databaseName' = 'Sitecore.Web'; 'username' = $env:Web_Database_Username; 'password' = $env:Web_Database_Password}, `
        @{'databaseName' = 'Sitecore.Experienceforms'; 'username' = $env:Forms_Database_Username; 'password' = $env:Forms_Database_Password}, `
        @{'databaseName' = 'Sitecore.Exm.master'; 'username' = $env:Exm_Master_Database_Username; 'password' = $env:Exm_Master_Database_Password}, `
        @{'databaseName' = 'Sitecore.Marketingautomation'; 'username' = $env:Marketing_Automation_Database_Username; 'password' = $env:Marketing_Automation_Database_Password}, `
        @{'databaseName' = 'Sitecore.Messaging'; 'username' = $env:Messaging_Database_Username; 'password' = $env:Messaging_Database_Password }, `
        @{'databaseName' = 'Sitecore.Reporting'; 'username' = $env:Reporting_Database_Username; 'password' = $env:Reporting_Database_Password }, `
        @{'databaseName' = 'Sitecore.Referencedata'; 'username' = $env:Reference_Data_Database_Username; 'password' = $env:Reference_Data_Database_Password }, `
        @{'databaseName' = 'Sitecore.Processing.Pools'; 'username' = $env:Processing_Pools_Database_Username; 'password' = $env:Processing_Pools_Database_Password }, `
        @{'databaseName' = 'Sitecore.Processing.Tasks'; 'username' = $env:Processing_Tasks_Database_Username; 'password' = $env:Processing_Tasks_Database_Password }, `
        @{'databaseName' = 'Sitecore.Processing.Engine.Tasks'; 'username' = $env:Processing_Engine_Tasks_Database_Username; 'password' = $env:Processing_Engine_Tasks_Database_Password }, `
        @{'databaseName' = 'Sitecore.Processing.Engine.Storage'; 'username' = $env:Processing_Engine_Storage_Database_Username; 'password' = $env:Processing_Engine_Storage_Database_Password }, `
        @{'databaseName' = 'Sitecore.Xdb.Collection.ShardMapManager'; 'username' = $env:Collection_ShardMapManager_Database_Username; 'password' = $env:Collection_ShardMapManager_Database_Password }, `
        @{'databaseName' = 'Sitecore.Xdb.Collection.Shard0'; 'username' = $env:Collection_ShardMapManager_Database_Username; 'password' = $env:Collection_ShardMapManager_Database_Password }, `
        @{'databaseName' = 'Sitecore.Xdb.Collection.Shard1'; 'username' = $env:Collection_ShardMapManager_Database_Username; 'password' = $env:Collection_ShardMapManager_Database_Password } `
        )
  • solr-init:

    RequestResponse
    FROM <xc1-assets-image> AS assets
    ENV SOLR_SITECORE_CONFIGSET_SUFFIX_NAME=_config `
        SOLR_REPLICATION_FACTOR=1 `
        SOLR_NUMBER_OF_SHARDS=1 `
        SOLR_MAX_SHARDS_NUMBER_PER_NODES=1 `
        SOLR_CORE_PREFIX_NAME=sitecore `
        SOLR_XDB_SCHEMA_FILE=${SOLR_XDB_SCHEMA_FILE} `
        TOPOLOGY=${XC_TOPOLOGY} `
        SOLR_COMMERCE_PREFIX_NAME=commerce `
        SOLR_COMMERCE_POSTFIX_NAME=Scope `
        SOLR_COMMERCE_REBUILD_POSTFIX_NAME=-Rebuild
    
    COPY --from=assets C:\module\solr C:\data
    COPY --from=assets C:\module\tools\scripts\New-SolrCore-Commerce.ps1 C:\module\tools\scripts\Start-Commerce.ps1  C:\
    
    ENTRYPOINT .\Start-Commerce.ps1 -SitecoreSolrConnectionString $env:SITECORE_SOLR_CONNECTION_STRING `
    -SolrCorePrefix $env:SOLR_CORE_PREFIX_NAME `
    -SolrSitecoreConfigsetSuffixName $env:SOLR_SITECORE_CONFIGSET_SUFFIX_NAME `
    -SolrReplicationFactor $env:SOLR_REPLICATION_FACTOR `
    -SolrNumberOfShards $env:SOLR_NUMBER_OF_SHARDS `
    -SolrMaxShardsPerNodes $env:SOLR_MAX_SHARDS_NUMBER_PER_NODES `
    -SolrXdbSchemaFile .\data\schema.json `
    -CommerceSolrConnectionString $env:Commerce_SOLR_CONNECTION_STRING `
    -SolrCommercePrefix $env:SOLR_COMMERCE_PREFIX_NAME `
    -SolrCommercePostfix $env:SOLR_COMMERCE_POSTFIX_NAME `
    -SolrCommerceRebuildPostfix $env:SOLR_COMMERCE_REBUILD_POSTFIX_NAME
  • xdbcollection

    RequestResponse
    FROM <xc1-assets-image> AS assets
    WORKDIR /inetpub/wwwroot
    COPY --from=assets module/xdbcollection/content/inetpub/wwwroot ./
  • prc:

    RequestResponse
    FROM <xc1-assets-image> AS assets
    WORKDIR /inetpub/wwwroot
    COPY --from=assets module/prcrep/content/inetpub/wwwroot ./
  • cm:

    RequestResponse
    FROM <xc0-assets-image> AS assets
    WORKDIR c:/inetpub/wwwroot
    
    COPY --from=assets module/cm/content/inetpub/wwwroot .
    COPY --from=assets module/cm/content/Permissions C:\Permissions
    COPY --from=assets module/cm/content/xdts C:\xdts
    COPY --from=assets module/tools  C:\tools
    
    RUN New-Item -Path C:\inetpub\wwwroot\App_Config -Name Security-Shared -ItemType directory; `
        c:\tools\nuget.exe install Microsoft.Web.Xdt -Version 3.0.0 -OutputDirectory C:\tools -ExcludeVersion; ` 
        c:\tools\scripts\Invoke-XdtTransformations.ps1 -TargetPath c:\inetpub\wwwroot -XdtPath c:\xdts -XdtDllPath c:\tools\Microsoft.Web.Xdt\lib\netstandard2.0\Microsoft.Web.XmlTransform.dll;`
        Push-Location c:/inetpub/wwwroot/App_Config/Include/Y.Commerce.Engine; `
        Rename-Item Sitecore.Commerce.Engine.DataProvider.config.disabled Sitecore.Commerce.Engine.DataProvider.config; `
        Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Common.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Common.config; `
        Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Solr.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Solr.config; `
        Pop-Location; `
    Remove-Item -Path "./XConnectFiles/" -Recurse -Force;
  • cd:

    RequestResponse
    FROM <xc0-assets-image> AS assets
    WORKDIR c:/inetpub/wwwroot
    
    COPY --from=assets module/cd/content/inetpub/wwwroot .
    COPY --from=assets module/cd/content/Permissions C:\Permissions
    COPY --from=assets module/cd/content/xdts C:\xdts
    COPY --from=assets module/tools  C:\tools
    
    RUN New-Item -Path C:\inetpub\wwwroot\App_Config -Name Security-Shared -ItemType directory; `
        c:\tools\nuget.exe install Microsoft.Web.Xdt -Version 3.0.0 -OutputDirectory C:\tools -ExcludeVersion; ` 
        c:\tools\scripts\Invoke-XdtTransformations.ps1 -TargetPath c:\inetpub\wwwroot -XdtPath c:\xdts -XdtDllPath c:\tools\Microsoft.Web.Xdt\lib\netstandard2.0\Microsoft.Web.XmlTransform.dll;`
        Push-Location c:/inetpub/wwwroot/App_Config/Include/Y.Commerce.Engine; `
        Rename-Item Sitecore.Commerce.Engine.DataProvider.config.disabled Sitecore.Commerce.Engine.DataProvider.config; `
        Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Common.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Common.config; `
        Rename-Item Sitecore.Commerce.Engine.Connectors.Index.Solr.config.disabled Sitecore.Commerce.Engine.Connectors.Index.Solr.config; `
        Pop-Location; `
       Remove-Item -Path "./XConnectFiles/" -Recurse -Force;
  • xdbsearch:

    RequestResponse
    FROM <xc1-assets-image> AS assets
    WORKDIR c:/inetpub/wwwroot
    COPY --from=assets module/xdbsearch/content/inetpub/wwwroot/App_Data/jobs/continuous/IndexWorker /App_data ./App_data/
  • xdbsearchworker:

    RequestResponse
    FROM <xc1-assets-image> AS assets
    WORKDIR /service
    COPY --from=assets module/xdbsearchworker/content/inetpub/wwwroot/App_Data/jobs/continuous/IndexWorker .
  • xdbautomation:

    RequestResponse
    FROM <xc1-assets-image> AS assets
    WORKDIR /inetpub/wwwroot
    
    COPY --from=assets module/xdbautomation/content/inetpub/wwwroot/App_data/jobs/continuous/AutomationEngine C:\module
    COPY --from=assets module/xdbautomation/content/inetpub/wwwroot/App_data/jobs/continuous/AutomationEngine /App_data .\App_data\
    
    RUN Copy-Item -Path "C:\module\*.dll" -Destination "C:\inetpub\wwwroot\bin"; `
        Remove-Item -Path "C:\module" -Recurse -Force;

sitecore-xc1-storefront-assets module

Note

sitecore-xc1-storefront-assets require sitecore-xc1-assets as a prerequisite.

sitecore-xc1-storefront-assets make use of Sitecore PowerShell Extensions (SPE) and Sitecore Experience Accelerator (SXA) assets modules.

Image repository

  • scr.sitecore.com/sxc/sitecore-xc1-storefront-asset

Note

Refer to the contents of the xc1-cxa folder in the Sitecore.Commerce.Containers.SDK for a full example of how to use the sitecore-xc-storefront-assets image.

Do you have some feedback for us?

If you have suggestions for improving this article,