Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

...

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