Install in Docker
Pre-requisites
- A container runtime, like Docker, Kubernetes, Amazon ECS, or Azure Container Apps
- Your Cherwell database, restored to a Microsoft SQL Server instance (with Full Text Indexing installed) accessible to your container runtime
Install
1. Pull the docker image
Decide which version of Cortex you would like to install. Each has a specific "tag";
at present we don't tag a latest
image (see here for why):
- Current stable: use the tag
v1.5.0
Execute the following command:
docker pull synapsesoftware.azurecr.io/cortex:v1.4.0
2. Run the docker image
For testing, the only options you need to specify are:
-p
to map your desired port to port8080
within the container, like-p 80:8080
-e ConnectionStrings__Default=<your_connection_string>
to configure the connection to SQL server-e Authentication__Type=none
to disable auth during testing (you must have a CSDAdmin user defined)
See below for the full list of configuration options.
Run the container like so:
docker run -p 8080:8080 -e ConnectionStrings__Default=<your_connection_string> -e Authentication__Type=none synapsesoftware.azurecr.io/cortex/v1.5.0
3. Running in production
Configuration
Three 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)
- Your desired authentication type (even if it's "none")
If you don't have a Cortex License, the software will run with result sets limited to 10 records.
Configuration with Environment Variables
Set at least the following environment variables:
ConnectionStrings__Default="YOUR CONNECTION STRING HERE"
Licensing__CompanyName="YOUR COMPANY'S NAME HERE"
Licensing__LicenseCode="YOUR LICENSE CODE"
Authentication__Type="ONE OF: none, saml, keycloak"
# Also the additional values required for your authentication type
Any option that can be configured in the appsettings.json
file can also be specified
as environment variables by appending each path segment, separated by two underscores.
Thus, the "Type" field in the "Authentication" block becomes Authentication__Type
.
Microsoft calls this "environment variable hierarchical keys".