While working on Sitecore 10.4.1 upgrade I had to generate docker image with Coveo for Sitecore installed. It turned out that there is no easy way to do it and Coveo does not have clear/straightforward documentation on how to do it. I found one repository (https://github.com/ksuamel/sitecore-docker-images) which is no longer maintained therefore I had to make some changes to make it work. I will start by quickly explaining how you can do it and then jump into my journey on how I did it and fixed some of the issues during this process.

Installing Coveo for Sitecore
There are generally two types of Sitecore installations:
- Hosted in IIS or Azure Web App
- Hosted in containers and deployed to Azure Kubernetes Service
1. IIS or Azure Web App Installation
For traditional environments, installing Coveo for Sitecore is straightforward. You can simply download the official Sitecore package and install it using the standard installation wizard: https://docs.coveo.com/en/2274
This works because:
- File system changes persist
- The Sitecore Installation Wizard handles configuration
- No custom build process is required
2. Container-Based Installation (AKS)
For containerized environments such as AKS, things become more complex. Containers are ephemeral by design:
- Any manual installation inside a running container is lost on restart
- Changes must be baked into the image itself
The correct approach is to build a custom container image for Sitecore with Coveo preinstalled. Unfortunately, Coveo does not provide a simple or officially supported way to do this.
Building a Sitecore Docker Container Image with Coveo Installed
To support deployments to AKS, Coveo must be included during the image build process.
Prerequisites
- Docker Desktop installed
- Docker configured to use Windows containers
- Access to an Azure Container Registry (ACR), if you plan to push images
Build Process
Clone this repository https://github.com/zaheer-tariq/sitecore-docker-images and after cloning your repository, run:
./Build.ps1 -SitecoreVersion 10.4.1 -Topology xm -IncludeModuleAssets -CoveoVersion 5.0.1460.0 -OSVersion ltsc2022
This builds a Sitecore container image with Coveo assets included. You can check readme file in the repository for more details on how to push it to Azure Container Repository.
The Issue I Faced during this Process
Initially after making changes to the cloned repository and building and deploying the image, Coveo Diagnostics reported:
Compatibility status: the Sitecore version is not supported yet. The latest supported version is 10.0.
This was unexpected because:
- Sitecore version was 10.4.1
- Coveo version was 5.0.1460.0 (for Sitecore 10.4.1)
- The connector itself was functioning correctly
Investigation
Initially, I thought it could be
- An incorrect package version
- Missing configuration
- Issues in the container build process
To validate, I did the following
- Installed a fresh non-container Sitecore 10.4.1 instance
- Installed the standard Coveo package
- Compared files and configurations
Everything matched. Yet, the warning only appeared in the container-based environment.
Root Cause
After deeper investigation, including DLL comparison and decompilation, I found the issue.
Coveo used to provide (not anymore) two package formats:
Standard Sitecore Package (Working)
Sitecore Web Deploy Package (SCWDP)
Both appear identical:
- Same version number
- Same file sizes
- Similar structure
However, the key difference was in:
Coveo.SearchProvider.dll
- Standard package → compiled for Sitecore 10.4.1
- SCWDP package → compiled for Sitecore 10.0
Coveo’s compatibility check relies on this build target. This is why the system reported: Latest supported version is 10.0
Solution
The fix was straightforward, replace Coveo.SearchProvider.dll from the SCWDP package with the one from the standard Sitecore package
After applying this change the warning disappeared
Additional Observations
Coveo does not provide much meaningful support when it comes to Docker setup. They don’t have a straight forward guide to do it, ideally just like Sitecore they should be providing pre-built docker container images to avoid all the hussle.
My experience with Coveo Support was mixed. While the team was responsive and did try to help, most of the guidance was focused on standard, non-containerized installation approaches. Since my setup was container-based and running on AKS, much of the investigation and troubleshooting ended up falling on my side.
Although I was eventually able to identify the root cause an inconsistency in the DLL provided through different package formats the issue was not acknowledged as a defect. The responses generally emphasized that the packages were correct and suggested that the problem might be related to the build or deployment process. Still they ended up removing the faulty scwdp package from their website immediately.
Overall, it required a significant amount of independent debugging, including deep analysis like DLL comparison and decompilation, to get to the actual solution.