Prerequisites
- Windows Server 2019 Version 1809
- Internet access on the server
- Request for login to IQX container registry
- Define the label for the OneList environment to be deployed. This is a short label, e.g. dev, qa, prod. The first letter must be unique in all the environments planned and it is used as the suffix of the database names.
- Use this value to replace the <environment> placeholder in the instructions below.
- Generate the Machine key for each environment. This is a Base64 string representing an array of 50 bytes.
- Use tools like https://generate.plus/en/base64 to generate a random string of the required length.
...
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
...
- RoleManager__MachineKey
The value is the generated machine key. - Database__ConnectionString
The value is the SQL Server connection string. The name of the databases will be automatically specified by the services. - ASPNETCORE_ENVIRONMENT
The value is <environment>. - Smtp__UserName
- Smtp__Password
- Smtp__From
This is the sender email address of notifications from OneList - Smtp__Host
This is the SMTP server OneList use to send notifications. - Smtp__Port
This is the port of SMTP server. - Smtp__UseSsl
Define if SMTP server uses SSL connection. For Office365 SMTP service, the value is always false.
...
Open PowerShell console from the folder created in previous step. Run following 3 commands.
Login to AzureCRIQX container registry
docker login -u iqxbusiness <username> --password-stdin iqxbusiness.azurecr.io
...
- → "Application Development" → Check "WebSocket Protocol"
- → "Performance" → Check "Dynamic Content Compression"
Download and Install URL Rewrite and Application Request Routing IIS module.
Activate reverse proxy: Select IIS root → Open “Application Request Routing Cache” → Select “Server Proxy Settings” → Check the box “Enable Proxy”, uncheck "Reverse rewrite host in response headers" and click Apply
Add these server variables to URL Rewrite module: Select OneList site → Open URL Rewrite → Select "View Server Variables" → Add following variables: HTTP_X_Forwarded_Host, HTTP_X_Forwarded_Port, HTTP_X_Forwarded_Proto, HTTP_X_Original_URI.
Place web.config file to root folder of the IIS site.
The web.config file contains:
- URL rewrite rules that route inbound traffic to OneList containers.
- Add following headers to the request header.
- X_Forwarded_Host, value: host name of original request
- X_Original_URI. value: URL path of original request
- X_Forwarded_Port, value: 80