version: "2.4" services: traefik: isolation: ${TRAEFIK_ISOLATION} image: ${TRAEFIK_IMAGE} command: - "--ping" - "--api.insecure=true" - "--providers.docker.endpoint=npipe:////./pipe/docker_engine" - "--providers.docker.exposedByDefault=false" - "--providers.file.directory=C:/etc/traefik/config/dynamic" - "--entryPoints.websecure.address=:443" ports: - "443:443" - "8079:8080" healthcheck: test: ["CMD", "traefik", "healthcheck", "--ping"] volumes: - source: \\.\pipe\docker_engine target: \\.\pipe\docker_engine type: npipe - ./traefik:C:/etc/traefik depends_on: cm: condition: service_healthy id: condition: service_healthy mssql: isolation: ${ISOLATION} image: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-mssql:${SITECORE_VERSION} environment: SA_PASSWORD: ${SQL_SA_PASSWORD} SITECORE_ADMIN_PASSWORD: ${SITECORE_ADMIN_PASSWORD} ACCEPT_EULA: "Y" SQL_SERVER: mssql ports: - "14330:1433" volumes: - type: bind source: .\mssql-data target: c:\data solr: isolation: ${ISOLATION} ports: - "8988:8983" image: ${SITECORE_DOCKER_REGISTRY}nonproduction/solr:8.4.0-10.1-ltsc2019 volumes: - type: bind source: .\solr-data target: c:\data environment: SOLR_MODE: solrcloud solr-init: isolation: ${ISOLATION} image: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-solr-init:10.1-ltsc2019 environment: SITECORE_SOLR_CONNECTION_STRING: http://solr:8983/solr SOLR_CORE_PREFIX_NAME: ${SOLR_CORE_PREFIX_NAME} depends_on: solr: condition: service_healthy id: isolation: ${ISOLATION} image: ${SITECORE_DOCKER_REGISTRY}sitecore-id:${SITECORE_VERSION} environment: Sitecore_Sitecore__IdentityServer__SitecoreMemberShipOptions__ConnectionString: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_Sitecore__IdentityServer__AccountOptions__PasswordRecoveryUrl: https://${CM_HOST}/sitecore/login?rc=1 Sitecore_Sitecore__IdentityServer__Clients__PasswordClient__ClientSecrets__ClientSecret1: ${SITECORE_IDSECRET} Sitecore_Sitecore__IdentityServer__Clients__DefaultClient__AllowedCorsOrigins__AllowedCorsOriginsGroup1: https://${CM_HOST} Sitecore_Sitecore__IdentityServer__CertificateRawData: ${SITECORE_ID_CERTIFICATE} Sitecore_Sitecore__IdentityServer__PublicOrigin: https://${ID_HOST} Sitecore_Sitecore__IdentityServer__CertificateRawDataPassword: ${SITECORE_ID_CERTIFICATE_PASSWORD} Sitecore_License: ${SITECORE_LICENSE} healthcheck: test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] timeout: 300s depends_on: mssql: condition: service_healthy labels: - "traefik.enable=true" - "traefik.http.routers.id-secure.entrypoints=websecure" - "traefik.http.routers.id-secure.rule=Host(`${ID_HOST}`)" - "traefik.http.routers.id-secure.tls=true" cm: isolation: ${ISOLATION} image: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-cm:${SITECORE_VERSION} depends_on: id: condition: service_started xconnect: condition: service_started environment: Sitecore_ConnectionStrings_Core: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Security: Data Source=mssql;Initial Catalog=Sitecore.Core;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Master: Data Source=mssql;Initial Catalog=Sitecore.Master;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Web: Data Source=mssql;Initial Catalog=Sitecore.Web;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=mssql;Initial Catalog=Sitecore.Processing.pools;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Xdb.Processing.Tasks: Data Source=mssql;Initial Catalog=Sitecore.Processing.tasks;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_ExperienceForms: Data Source=mssql;Initial Catalog=Sitecore.ExperienceForms;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Exm.Master: Data Source=mssql;Initial Catalog=Sitecore.Exm.master;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Sitecore.Reporting.Client: http://xconnect Sitecore_ConnectionStrings_Solr.Search: http://solr:8983/solr;solrCloud=true Sitecore_ConnectionStrings_SitecoreIdentity.Secret: ${SITECORE_IDSECRET} Sitecore_ConnectionStrings_XConnect.Collection: http://xconnect Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Operations.Client: http://xconnect Sitecore_ConnectionStrings_Xdb.MarketingAutomation.Reporting.Client: http://xconnect Sitecore_ConnectionStrings_Xdb.ReferenceData.Client: http://xconnect Sitecore_License: ${SITECORE_LICENSE} Sitecore_Identity_Server_Authority: https://${ID_HOST} Sitecore_Identity_Server_InternalAuthority: http://id Sitecore_Identity_Server_CallbackAuthority: https://${CM_HOST} Sitecore_Identity_Server_Require_Https: "false" SOLR_CORE_PREFIX_NAME: ${SOLR_CORE_PREFIX_NAME} healthcheck: test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] timeout: 300s labels: - "traefik.enable=true" - "traefik.http.middlewares.force-STS-Header.headers.forceSTSHeader=true" - "traefik.http.middlewares.force-STS-Header.headers.stsSeconds=31536000" - "traefik.http.routers.cm-secure.entrypoints=websecure" - "traefik.http.routers.cm-secure.rule=Host(`${CM_HOST}`)" - "traefik.http.routers.cm-secure.tls=true" - "traefik.http.routers.cm-secure.middlewares=force-STS-Header" xconnect: isolation: ${ISOLATION} image: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-xconnect:${SITECORE_VERSION} ports: - "8081:80" depends_on: mssql: condition: service_healthy solr-init: condition: service_started environment: Sitecore_License: ${SITECORE_LICENSE} Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=mssql;Initial Catalog=Sitecore.Processing.Engine.Storage;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=mssql;Initial Catalog=Sitecore.Marketingautomation;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Xdb.Processing.Pools: Data Source=mssql;Initial Catalog=Sitecore.Processing.pools;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Collection: Data Source=mssql;Initial Catalog=Sitecore.Xdb.Collection.ShardMapManager;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/${SOLR_CORE_PREFIX_NAME}_xdb;solrCloud=true Sitecore_Sitecore:XConnect:CollectionSearch:Services:Solr.SolrReaderSettings:Options:RequireHttps: 'false' Sitecore_Sitecore:XConnect:CollectionSearch:Services:XConnectSolrHealthCheckServicesConfiguration:Options:RequireHttps: 'false' Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrReaderSettings:Options:RequireHttps: 'false' Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrWriterSettings:Options:RequireHttps: 'false' healthcheck: test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1"] timeout: 300s xdbsearchworker: isolation: ${ISOLATION} image: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-xdbsearchworker:${SITECORE_VERSION} depends_on: xconnect: condition: service_healthy restart: unless-stopped environment: Sitecore_ConnectionStrings_Collection: Data Source=mssql;Initial Catalog=Sitecore.Xdb.Collection.ShardMapManager;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_SolrCore: http://solr:8983/solr/${SOLR_CORE_PREFIX_NAME}_xdb;solrCloud=true Sitecore_License: ${SITECORE_LICENSE} Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrReaderSettings:Options:RequireHttps: 'false' Sitecore_Sitecore:XConnect:SearchIndexer:Services:Solr.SolrWriterSettings:Options:RequireHttps: 'false' Sitecore_Sitecore:XConnect:CollectionSearch:Services:XConnectSolrHealthCheckServicesConfiguration:Options:RequireHttps: 'false' healthcheck: test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port 8080"] timeout: 300s xdbautomationworker: isolation: ${ISOLATION} image: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-xdbautomationworker:${SITECORE_VERSION} depends_on: xconnect: condition: service_healthy restart: unless-stopped environment: Sitecore_ConnectionStrings_XConnect.Collection: http://xconnect Sitecore_ConnectionStrings_Xdb.Marketingautomation: Data Source=mssql;Initial Catalog=Sitecore.Marketingautomation;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Xdb.Referencedata: Data Source=mssql;Initial Catalog=Sitecore.Referencedata;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_License: ${SITECORE_LICENSE} healthcheck: test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port 8080"] timeout: 300s cortexprocessingworker: isolation: ${ISOLATION} image: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-cortexprocessingworker:${SITECORE_VERSION} depends_on: xconnect: condition: service_healthy restart: unless-stopped environment: Sitecore_ConnectionStrings_Processing.Engine.Storage: Data Source=mssql;Initial Catalog=Sitecore.Processing.Engine.Storage;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Processing.Engine.Tasks: Data Source=mssql;Initial Catalog=Sitecore.Processing.Engine.Tasks;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Processing.Webapi.Blob: http://xconnect Sitecore_ConnectionStrings_Processing.Webapi.Table: http://xconnect Sitecore_ConnectionStrings_XConnect.Collection: http://xconnect Sitecore_ConnectionStrings_XConnect.Configuration: http://xconnect Sitecore_ConnectionStrings_XConnect.Search: http://xconnect Sitecore_ConnectionStrings_Messaging: Data Source=mssql;Initial Catalog=Sitecore.Messaging;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_ConnectionStrings_Reporting: Data Source=mssql;Initial Catalog=Sitecore.Reporting;User ID=sa;Password=${SQL_SA_PASSWORD} Sitecore_License: ${SITECORE_LICENSE} healthcheck: test: ["CMD", "powershell", "-command", "C:/Healthchecks/Healthcheck.ps1 -Port 8080"] timeout: 300s