Install Docker Engine - Enterprise
https://docs.docker.com/install/windows/docker-ee/
Install docker-compose. Run command:
Invoke-WebRequest "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-Windows-x86_64.exe" -UseBasicParsing -OutFile $Env:ProgramFiles\Docker\docker-compose.exe
Build Redis
Download iqx.onelist solution from repository.
Open cmd from <solution root>\WinBuild\redis, run command "docker -t redis build ." .
Build MongoDB
Download iqx.onelist solution from repository.
Open cmd from <solution root>\WinBuild\mongo, run command "docker -t mongo build ." .
Build OneList Frontend
Open cmd from <solution root>/IQX.OneList/IQX.OneList.Frontend folder.
Remove all reference to "dist" in .dockerignore.
Build project. "npm run build-prod".
Run command "docker build -t iqx.onelist.frontend -f winbuild\dockerfile .".
Build DefaultTheme
Open cmd from <solution root>/IQX.DefaultTheme.
Build project. "npm run build".
Run command "docker build -t iqx.theme -f winbuild\dockerfile .".
IIS Proxy
Enable WebSocket Protocol feature. Open "Server Manager" → Select "Add Roles and Features" → "Server Roles" → "Web Server" → "Application Development" → Check "WebSocket Protocol" → Next → Install
Install URL Rewrite and Application Request Routing IIS module.
Activate reverse proxy: Open “Application Request Routing Cache” → Select “Server Proxy Settings” → Check the box “Enable Proxy”, uncheck "Reverse rewrite host in response headers" and click Apply
Place web.config file to root folder of the IIS site.
Deploy Containers
Login to Azure container registry. Run command: "docker login iqxbuild.azurecr.io".
Download docker-compose.yml and modify environment variables. Run command: "docker-compose up -d".