Attention

Zercurity has been acquired by JumpCloud.

This documentation will no longer be maintained or updated. You can read more about the acquisition, or signup to JumpCloud today.

https://jumpcloud.com/press/jumpcloud-acquires-zercurity

Windows Server

Zercurity is partially supported on Windows Server as support for running Linux containers on Windows is currently in preview.

Installing Docker

Note

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 the system PATH, you can run the docker-compose --version command on the subsequent step with no additional configuration.

Downloading Zercurity

To setup Zercurity you’ll first need to download all the files cotained within our GitHub repository.

git clone https://github.com/zercurity/zercurity.git

Once the files have download you can then enter the newly created zercurity folder.

cd zercurity/

Starting Zercurity

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 zercurity/

# Edit the production.env files in tihs 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, certs and data.

  • The certs directory contains the SSL certificates for the NGINX web-server.
  • The data directory contains both a working directory for the creation of temp files and data for the prostgresql database.

The Zercurity web application will now be available at: https://app.zercurity.local

Warning

If you are using self-signed certificates you will need to manually visit https://app.zercurity.local, https://api.zercurity.local and 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 certs folder.

Updating Zercurity

cd zercurity/

# Pull the latest images
docker-compose pull