Skip to main content

Other Platforms

Pre-requisites

  • Something that reverse-proxies web traffic: nginx, an AWS ALB, an Azure App Gateway, a Kubernetes ingress, etc. (configuring this is outside of the scope of this document)
  • Something you can run the app on. Windows, Linux, Mac, another platform that can run a .NET 7 app
  • Your Cherwell database, restored to a Microsoft SQL Server instance

Install

Pick the appropriate build for your system.

  • win-x64 - Self-contained build for Windows (does not require an installed .NET runtime)
  • linux-x64 - Self-contained build for Linux (does not require an installed .NET runtime)
  • net7 - Runtime-dependent build for any OS (requires an installed .NET 7 runtime)

Download from the download site (registration required).

IIS

  1. Install the ASP.NET Core Module/Hosting Bundle
  2. Unzip either the win-x64 or the net7 build into a directory IIS has access to.
  3. Set up an "application" pointing at the unzipped assemblies.
  4. Configure using config files (see below).

As a standalone binary

  1. Unzip the appropriate binaries for your system (Windows vs. Linux, whether you have a .NET 7 runtime installed or not).
  2. Configure using configuration files or set the appropriate environment variables (see below).
  3. Run the binary Cortex.exe (Windows) or Cortex (Linux or Mac) from a Terminal.
  4. For production, run this behind a reverse proxy like nginx; with a container orchestrator like Amazon ECS, Azure Container Apps, or Kubernetes; or host with IIS (see above).

Configuration

Two items need to be configured:

  • Database connection to a previously installed Cherwell database (See here for details on creating a connection string)
  • Your Cortex License "company name" and License code (NOTE: These are different from your Cherwell license)

If you don't have a Cortex License, the software will run with result sets limited to 10 records.

Environment Variables

Best for container-based deployments. Set the following environment variables:

  • CUSTOMCONNSTR_Default - a .NET Connection String pointing to a MS SQL database
  • Licensing:CompanyName (Windows) or Licensing__CompanyName (Linux/Mac) - the company name specified with your license
  • Licensing:LicenseCode (Windows) or Licensing__LicenseCode (Linux/Mac) - your license code, e.g. (XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)

Configuration Files

Edit the file appsettings.json to fill in the values below:

{
// ...
"ConnectionStrings": {
"Default": "YOUR CONNECTION STRING HERE"
},
"Licensing": {
"CompanyName": "YOUR COMPANY'S NAME HERE",
"LicenseCode": "YOUR LICENSE CODE"
}
}

After modifying this file, restart the application to apply the configuration.