Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Version published after converting to the new editor

Infrastructure Prerequisites

...

EnvironmentsWeb ServerSQL Server
Production
  • Windows Server 2019 Version 1809.
    • CPU: 8 core
    • RAM: 16 GB
    • Free disk space: 100 GB
  • Enable outbound internet connection
  • SQL Server (dedicated or shared instance)
    • SQL Server 2016 or later
    • Databases:
      • onelist_p
      • comms_p
      • rolemanager_p
    • SQL log in with db_owner role of the databases
Non-production
  • Windows Server 2019 Version 1809.
    • CPU: 8 core
    • RAM: 16 GB
    • Free disk space: 100 GB
  • Enable outbound internet connection
  • SQL Server (dedicated or shared instance)
    • SQL Server 2016 or later
    • Databases for each non-prod environment: the "x" represents the environment tag, e.g. d for Development, q for QA.
      • onelist_x
      • comms_x
      • rolemanager_x 
    • SQL log in with db_owner role of the database
  • Determine the DNS for each OneList environment, e.g. onelist.company.com, onelist-dev.company.com, onelist-test.company.com;
  • Configure reverse proxy to enable access to OneList URL's
  • Enable outbound firewall rules for the Web Servers to the following destinations:
  • Provision SSL certificate:
    • Wildcard or site specific SSL certificate for each environment;

    • Key size 2048 bits;
    • Issued by public certificate authority;
  • SMTP server connection detail and dedicated or shared email address for OneList.

Deployment Prerequisites

  • Domain user account requirements:
    • Local Administrator of the Web Server;
    • Has VPN and RDP access to the Web Server;
  • 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.
  • Request for login to IQX container registry;
  • 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. 

...

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


Configure URL Rewrite rules

...