Latest changes in Sitecore MVP Site Docker setup + few minor issues/fixes
Going forward, if you want to start your local Docker sitecore mvp site, you need to use the new Start-Environment.ps1 instead of up.ps1. Like me, if you have an existing folder and pull the latest code from github, you definitely will have a few hiccups and this blog article is for you.
So, making the long story short, I pulled the main branch and I noticed there is no up.ps1 and instead there is Start-Environment.ps1 and Stop-Environment.ps1.
The Stop-Environment.ps1 script is straight forward, it does a system prune too:
Next, as any lazy developer, I want to see everything work fine with my existing folder setup. So, I executed Start-Environment.ps1 on the existing folder in my machine just passing this one argument:
.\start-environment.ps1
The first error I hit was this:
Initialize-HostNames : Cannot validate argument on parameter 'HostDomain'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command
again.
At C:\mvp-site\Start-Environment.ps1:62 char:26
+ Initialize-HostNames $HostDomain
+ ~~~~~~~~~~~
+ CategoryInfo : InvalidData: (:) [Initialize-HostNames], ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationError,Initialize-HostNames
The reason for this error is, my existing .env file (classic lazy developer!) didn't have the HOST_DOMAIN key and the Start-Environment.ps1 looks for such a key as per this line:
But, since I'm lazy, I added the key with the following value to .env file matching how the certs are already generated in my machine under the traefik folder:
HOST_DOMAIN=sc.localhost
Now, when I execute the following command, everything seems fine:
.\start-environment.ps1
After some patience, containers are up and running:
But, Docker is unable to access the id instance:
Error connecting to https://id.sc.localhost/.well-known/openid-configuration: No such host is known.
Push-Items : Unable to log into Sitecore, did the Sitecore environment start correctly? See logs above.
At C:\mvp-site\Start-Environment.ps1:99 char:1
+ Push-Items -IdHost "https://id.$($HostDomain)" -CmHost "https://cm.$( ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Write-Error], WriteErrorException
+ FullyQualifiedErrorId : Microsoft.PowerShell.Commands.WriteErrorException,Push-Items
Straightaway, you can figure out that the mvp prefix is missing for the id instance. So, I located the concerned lines in Start-Environment.ps1 and rectified the same:
I also adjusted the ComposeProjectName since it is used all through the code to build the host domain:
.\Start-Environment.ps1 was successful this time!
Note that in case of a brand new setup, if you execute .\Start-Environment.ps1 -InitializeEnvFile, you get the option to setup everything from scratch including OKTA:
Params in Start-Environment.ps1:
$ComposeProjectName: For first time setup, good to pass "sc" keeping up with sc.localhost domain
$LicensePath: For first time setup
$InitializeEnvFile: For first time setup, OKTA configuration is part of it
$Pull: Switch that pulls latest SCR images
$Clean: No need to run clean.ps1 from docker folder anymore
$StartSugconSites: Switch ($true or $false) value to start sugcon site
$StartmvpSite: Switch ($true or $false) value to start mvp site
Comments
Post a Comment