Zercurity is partially supported on Windows Server as support for running Linux containers on Windows is currently in preview.
You can keep things simple by installing Docker for Desktop https://docs.docker.com/docker-for-windows/install/ - however, you can use Windows containers which is under preview.
First, you’ll need to install Docker. Start an “elevated” PowerShell (run it as administrator). Search for PowerShell, right-click, and choose Run as administrator. When asked if you want to allow this app to make changes to your device, click Yes.
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-Management-PowerShell -All -NoRestart Enable-WindowsOptionalFeature -Online -FeatureName Containers -All -NoRestart Get-VM WinContainerHost | Set-VMProcessor -ExposeVirtualizationExtensions $true Install-Module DockerProvider -Force Install-Package -Name Docker -ProviderName DockerProvider -RequiredVersion preview -Force Restart-Computer -Force
Installing Docker Compose¶
In order to deploy Zercurity and keep it up-to-date Docker Compose is required. Start an “elevated” PowerShell (run it as administrator). Search for PowerShell, right-click, and choose Run as administrator. When asked if you want to allow this app to make changes to your device, click Yes.
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 Invoke-WebRequest "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\Docker\docker-compose.exe
On Windows Server 2019, you can add the Compose executable to
$Env:ProgramFiles\Docker. Because this directory is registered in
PATH, you can run the
command on the subsequent step with no additional configuration.
Zercurity makes use of AWS ECR. In order to authenticate with our container repository you’ll need to download and install AWS powershell Tools.
Which is available directly at:
Your Zercurity account manager will provide you with AWS keys in order to authenticate with the Zercurity container repository. The keys used in the example below do not work.
Once you have your account credentials. Please run the following commands. You will need to do this each time you need to run the following commands each time you want to interact with the Zercurity ECR.
Set-AWSCredential ` -AccessKey AKIA0123456787EXAMPLE ` -SecretKey wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY ` -StoreAs Zercurity Invoke-Expression -Command (Get-ECRLoginCommand -ProfileName Zercurity -Region eu-central-1).Command.Replace("https://237746114954.dkr.ecr.eu-central-1.amazonaws.com", "https://ecr.zercurity.com")
Before starting Zercurity you will need the Zercurity docker-compose.yml.
In the example below we will be using the domain name zercurity.local. Zercurity also requires SSL certificates in order to establish a secure connection between both clients and the server.
cd C:\ProgramData mkdir zercurity cd zercurity # Copy across the docker-compose.yml and production.env files to this # new directory. # Change zercurity.local for the domain you with to use. $Env:ZERCURITY_DOMAIN = "zercurity.local" # Start the containers. The output will also be logged. docker-compose up
As the containers start (which will take a few minutes) you’ll notice two
directories being created,
certsdirectory contains the SSL certificates for the NGINX web-server.
datadirectory contains both a working directory for the creation of temp files and data for the
The Zercurity web application will now be available at:
If you are using self-signed certificates you will need to manually visit
https://download.zercurity.local in order for the web
application to work correctly. Or you can add the generated CA to your
preferred browser which can be found in the
cd C:\ProgramData\zercurity # Pull the latest images docker-compose pull