Skip to main content
Version: Next

Install on Another Platform

warning

Cortex 2.0 and later require a read-write connection to a Cortex-specific data store. Synapse Software does not support having Cortex and any archive in the same database. They should always be two separate databases.

See the Connection Strings page for configuration details.

This page covers running Cortex outside of IIS or Docker. If IIS or containers are an option for your environment, use those paths instead - they are better documented and more commonly tested.


Prerequisites

  • A reverse proxy or load balancer to handle inbound web traffic (nginx, AWS ALB, Azure App Gateway, Kubernetes ingress, etc.). Configuring this is outside the scope of this document.
  • A machine capable of running a .NET 10 application (Windows, Linux, or Mac)
  • Your database restored to a Microsoft SQL Server instance with Full-Text Indexing installed

Step 1 - Download Cortex

Download the appropriate build for your system from:

https://releases.synapsesoftware.com/

Available builds:

  • win-x64 - Self-contained Windows build. No .NET runtime required.
  • linux-x64 - Self-contained Linux build. No .NET runtime required.
  • net9 - Runtime-dependent build for any OS. Requires .NET 9 installed on the host.

Step 2 - Run the Application

Extract the appropriate build and run the binary:

  • Windows: Cortex.exe
  • Linux / Mac: ./Cortex

For production, run Cortex behind a reverse proxy rather than exposing it directly. Options include:

  • nginx or Apache as a reverse proxy
  • A container orchestrator (Amazon ECS, Azure Container Apps, Kubernetes)
  • IIS (see the IIS installation guide if you go this route)

Step 3 - Configure Cortex

Two configuration methods are available.

Environment Variables

Best suited for container-based or automated deployments:

  • Licensing__CompanyName (or Licensing:CompanyName on Windows) - the company name associated with your license
  • Licensing__LicenseCode (or Licensing:LicenseCode on Windows) - your license code (format: XXXXX-XXXXX-XXXXX-XXXXX-XXXXX-XXXXX)

Configuration File

Edit appsettings.json in the Cortex directory:

{
"ConnectionStrings": {
"Cherwell": "READ (WRITE OPTIONAL) CONNECTION STRING FOR CHERWELL DATA",
"Cortex": "READ/WRITE CONNECTION STRING FOR CORTEX DATA"
},
"Licensing": {
"CompanyName": "YOUR COMPANY NAME HERE",
"LicenseCode": "YOUR LICENSE CODE"
},
"Authentication": {
"Type": "none"
}
}

After saving the file, restart the application to apply the changes.

If you do not have a Cortex license, the application will run with search results limited to 10 records.

For connection string details, see: Connection Strings

For authentication configuration, see: Authentication


Next Steps

HTTPS / SSL

warning

If you are using SAML for authentication, HTTPS is required (or at minimum strongly recommended). If you add HTTPS after configuring SAML, you will need to update your SAML configuration to match.

Configuring HTTPS is highly recommended for any production deployment. How you do this depends on your environment - common options include a certificate installed directly in IIS, a certificate from an internal or external CA, or HTTPS termination at a reverse proxy in front of Cortex.

Your infrastructure team will be the best resource for this. We can offer guidance if we are familiar with your specific setup.


Authentication

In most cases, we recommend starting with Authentication:Type set to none to confirm your database connection is working before introducing additional variables.

Authentication:Type none is not suitable for production. Once you have confirmed connectivity, configure your preferred authentication method:

Authentication

Leaving authentication set to none means all data is accessible to anyone who can reach the server. This mode is intended solely for initial setup and verification.


Troubleshooting

If Cortex does not load after installation, see:

Installation Troubleshooting