Sitecore Containers Prerequisites

April 17, 2025 · View on GitHub

License GitHub Stars

Overview

This PowerShell script checks that your Windows machine is fully set up to run Sitecore Containers, performing:

  • Hardware checks (CPU, RAM, disk)
  • 🛠 OS & Windows Feature validation (Edition, build, Containers, Hyper‑V, IIS status)
  • 📦 Software checks (Docker Desktop, container mode, DNS config, SitecoreDockerTools)
  • 🌐 Network port availability
  • ⚙️ Misc. checks (CBFSConnect driver, SITECORE_LICENSE variable)

You can run it in either interactive or unattended mode—perfect for local setup or CI pipelines.


✅ tl;dr Usage

Run this script from an admin-elevated PowerShell session:

Start-BitsTransfer -Source "https://raw.githubusercontent.com/strezag/sitecore-containers-prerequisites/main/sitecore-containers-prerequisites.ps1"
.\sitecore-containers-prerequisites.ps1

Run unattended & quiet, with pass/fail message:

Start-BitsTransfer -Source "https://raw.githubusercontent.com/strezag/sitecore-containers-prerequisites/main/sitecore-containers-prerequisites.ps1"
.\sitecore-containers-prerequisites.ps1 -Unattended -Quiet
Write-Host "Exit code is $LastExitCode which means you $($LastExitCode -eq 0 ? 'passed' : 'failed')"

Run unattended, full output:

Start-BitsTransfer -Source "https://raw.githubusercontent.com/strezag/sitecore-containers-prerequisites/main/sitecore-containers-prerequisites.ps1"
.\sitecore-containers-prerequisites.ps1 -Unattended

Table of Contents

  1. Prerequisites
  2. Installation
  3. Usage
  4. Parameters
  5. Checks Performed
  6. Menu Options
  7. Examples
  8. Exit Codes
  9. Screenshots
  10. Contributing
  11. License
  12. Links

Prerequisites

  • Windows 10/11 Pro, Enterprise, or Education (build 1903+ recommended)
  • PowerShell 5.1+ (run in Windows PowerShell as Administrator; ISE not supported)
  • Internet access for downloads and DNS checks
  • Admin rights required to run and install components

Installation

Option 1: One-liner (download & run)

Start-BitsTransfer -Source "https://raw.githubusercontent.com/strezag/sitecore-containers-prerequisites/main/sitecore-containers-prerequisites.ps1"
.\sitecore-containers-prerequisites.ps1

Option 2: Clone the repo

git clone https://github.com/strezag/sitecore-containers-prerequisites.git
cd sitecore-containers-prerequisites
.\sitecore-containers-prerequisites.ps1

Usage

Interactive Mode

Use the arrow keys to select a check or action:

.\sitecore-containers-prerequisites.ps1

Unattended Mode

Run a scan with no prompts:

.\sitecore-containers-prerequisites.ps1 -Unattended

Target a specific check with -MenuSelection, and suppress output with -Quiet.

.\sitecore-containers-prerequisites.ps1 -Unattended -MenuSelection 1 -Quiet

Parameters

ParameterDescription
-UnattendedRuns the script without interactive prompts
-MenuSelection <0–16>Executes a specific check or action by index (default: 0 = Full)
-QuietSuppresses non-critical output
-SuppressDockerDNSRequirementSkips DNS connectivity test for Docker in unattended mode

Checks Performed

1. Hardware

  • ≥ 4 CPU cores
  • ≥ 16 GB RAM (32 GB recommended)
  • ≥ 25 GB free disk space (SSD recommended)

2. Operating System & Features

  • Windows 10/11 Pro/Ent/Edu, build 1903+
  • Containers & Hyper‑V Windows features enabled
  • IIS service is stopped
  • CBFSConnect2017 driver compatibility

3. Software

  • Docker Desktop installed & running (Windows containers mode)
  • com.docker.service + Docker daemon active
  • DNS config (8.8.8.8 or 1.1.1.1 optional)
  • SitecoreDockerTools PowerShell module
  • SITECORE_LICENSE user environment variable set

4. Network Ports

  • TCP 443, 8079, 8081, 8984, 14330 available

IndexAction
0Full Prerequisite Check
1Hardware Prerequisite Check
2Operating System & Features Check
3Software Prerequisite Check
4Network Port Availability Check
5Install Chocolatey
6Install Docker Desktop
7Install mkcert (TLS cert tool)
8Install SitecoreDockerTools PowerShell module
9Enable Containers Windows feature
10Enable Hyper‑V Windows feature
11Open Sitecore 10.x Dev Guide
12Download Sitecore Container Deployment Package
13Open Sitecore Container Docs
14Remove SITECORE_LICENSE env var
15Open this GitHub repo
16Exit script

Examples

# Run full check interactively
.\sitecore-containers-prerequisites.ps1

# Run full check silently for CI
.\sitecore-containers-prerequisites.ps1 -Unattended -Quiet

# Run hardware check only
.\sitecore-containers-prerequisites.ps1 -Unattended -MenuSelection 1

Screenshots

Full Scan Demo

Switch to Windows Containers Demo


Contributing

Bug reports, feature ideas, and pull requests are welcome!


License

GNU GENERAL PUBLIC LICENSE – see LICENSE for details.