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 (with Full Text Indexing installed)
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
- Install the ASP.NET Core Module/Hosting Bundle
- Unzip either the win-x64 or the net7 build into a directory IIS has access to.
- Set up an "application" pointing at the unzipped assemblies.
- Configure using config files (see below).
As a standalone binary
- Unzip the appropriate binaries for your system (Windows vs. Linux, whether you have a .NET 7 runtime installed or not).
- Configure using configuration files or set the appropriate environment variables (see below).
- Run the binary
Cortex.exe
(Windows) orCortex
(Linux or Mac) from a Terminal. - 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 databaseLicensing:CompanyName
(Windows) orLicensing__CompanyName
(Linux/Mac) - the company name specified with your licenseLicensing:LicenseCode
(Windows) orLicensing__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.