I'm trying to create an mssql-init image for XP1 that will install the following components: SPE module CH connector SXA module Coveo Coveo SXA

I'll be using this to deploy to an Azure SQL server.

I tried to copy the modules dacpacs to the resources folder to be installed together with the other dacpacs: enter image description here

In my compose.override file, I'm using the official mssql-init image: enter image description here

I'm using the same syntax provided by this official repo: https://github.com/Sitecore/docker-examples/blob/develop/custom-images/docker/build/mssql-init/Dockerfile

The installation goes well, but then it breaks in the following part: enter image description here enter image description here

If I try to add the deployDatabases script to run each module: RUN C:\DeployDatabases.ps1 -ResourcesDirectory C:\jss_data; ` Remove-Item -Path C:\jss_data -Recurse -Force;

During the image build, it will throw the following error: enter image description here

Which makes sense, because I'm using an mssql-init image as a base image, and not the mssql image that contains the SQL server running.

Everything works fine to add the modules to the mssql container image in the XP0 installation, but then when I need to add these modules to an Azure SQL server, I keep struggling with these issues.

Is there a clear way on how to deploy these modules to an Azure Sql server?

  • 1
    Based on your description, it seems that you are deploying modules to an existing AKS instance. The installation fails at line 120 of the DeployDatabases.ps1 script, when the script tries to install the database xdb collections shards again. I described this scenario in this blog post in March here (it was for SC 10.1): alessandrofaniuolo.com/2021/03/16/… My blog post shows a solution for an existing instance where the databases cannot be deleted. Jan 5, 2022 at 18:22
  • 1
    If your existing instance is a vanilla instance and it can be deleted, then it might be easier to just delete it and procure it again using the mssql-init image configured with all modules in it. Keep in mind that if the init process fails, you will need to delete the instance again and start over. Jan 5, 2022 at 18:27
  • Hi Alessandro, After many tries, I was able to put all the modules together in a single mssql-init image by using the instructions on your blog post, I have first deleted all the databases and created with a fresh install, then I modified the entrypoint to run only the deploydatabases script and pointed the ResourcesDirectory parameter to a different folder that contains all the dacpacs copied from the modules images and it did the trick. Your blog post was really useful, I would say that Sitecore should include it in its official documentation. Jan 6, 2022 at 12:38


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.