[Sitecore and Docker] Playing around with Sitecore Lighthouse Demo on Docker

If you are looking for or want to play around with a Sitecore solution example built using Sitecore Experience Accelerator (SXA) on Sitecore Experience Platform (XP) with Helix compliance and Docker, the Sitecore Lighthouse Demo is the great choice.

This blog is as my experience sharing about setting up Sitecore Lighthouse Demo on my local environment which is based on the guideline here https://github.com/Sitecore/Sitecore.Demo.Platform/blob/main/docs/Usage.md (Thank Sitecore Team so much about containerized demo).

Before getting started, let check some important notes and prerequisites:

Software Prerequisites

  • Windows 10 Professional or Enterprise version 1809 (2019 LTSC) or later. Version 1909 is recommended for enabling isolation.
  • Hyper-V is enabled.
  • At least 16 Gb of memory, 32 Gb or more is preferred.
  • Ensure ports 443, 8079, 8080, 8984, 14330 available.
  • A valid Sitecore 10 license file located at C:\license\license.xml
  • The latest Docker Desktop.
  • The latest release of Sitecore Lighthouse Demo
  • Note: Lighthouse Demo can only be deployed inside Docker containers.

Installation

Step 1: Enable Hyper-V. To enable it, refer to the Microsoft documentation. The Docker Desktop installer will also enable Hyper-V if necessary, but a machine restart will be required during install.

FYI: You can also use PowerShell as admin to run following command to enable Hyper-V

Enable-WindowsOptionalFeature -Online -FeatureName $("Microsoft-Hyper-V", "Containers") -all

Step 2: Download and install Docker Desktop for Windows. During installation, choose to use Windows containers instead of Linux containers. Once Docker Desktop has installed, make sure you are in Windows containers as below:

Open PowerShell as administrator and using command below to stop IIS that will ensure that all required ports are available and not being used by another process

iisreset /stop

Open Docker Settings and add “dns”:”8.8.8.8″ and update experimental to true as below. It will help to resolve some network issues. Restarting Docker is required.

Step 3: Clone or download the Sitecore Lighthouse Demo repository. Go to “Sitecore.Demo.Platform” folder and open the Windows PowerShell (as administrator). Run the command:

.\init.ps1 -InitEnv -LicenseXmlPath C:\license\license.xml -AdminPassword b

Note: you can change license path and default admin password by your own.

Step 4: On the same Windows PowerShell, run command “docker-compose pull“. It will take a bit time to pull the latest demo Docker images.

Now, run “docker-compose up -d” to setup the Sitecore Lighthouse Demo on Docker. If everything is working correctly. Below is the result:

Open browser and access https://cm.lighthouse.localhost/sitecore. You should be able to login with the “admin” user and the password provided while running the init.ps1 script.

On the same Windows PowerShell, run command “docker-compose logs -f init“, you will see the progress of the initialization. Wait a bit until you see the message “No jobs are running. Monitoring stopped.

Browse to https://cd.lighthouse.localhost, you should see the the Lighthouse landing page with a full-width carousel.

Issues You May Get

1. Cannot start service Solr

We should ensure that the port 8984 available and is not being used by another processes. If we look at how Solr is defined in the docker-compose.yml file, we will see that the port is setup to map to 8984 on your local machine to 8983 on the running Solr container.

Also, you should check if you are having multiple Solr instances running on your machine from previous installed Sitecore instances.

2. ERROR: for “xxxxxx” Container “xxxxxxx” is unhealthy.

To address this issue, try the below steps:

  1. Please check if you are using VPN. Turning on VPN can also cause problem when start up Docker.
  2. Open PowerShell with admin right in the folder “Sitecore.Demo.Platform”
  3. Run “docker-compose stop“.
  4. Run “docker-compose down“.
  5. Run “.\CleanDockerData.ps1”.
  6. Now run “iisreset /stop” to make sure that the required ports are free.
  7. Now run “docker-compose up -d".

Thanks for reading and happy Sitecore Docker!

References:

Related Articles:

Leave a Comment