Server Configuration


Katmandoo requires an application settings file (appsettings.json) in the root folder to run. These settings contain database connection, folder configurations and other system wide options.

To build a configuration file or test the database connection click the toolbox icon on the top right of of the Katmandoo menu strip and select Setup.

Tools Setup Icon

Testing the database connection

To ensure there are no issues with the database connection the Test Connection button ensure that the Katmandoo interface is linked correctly to a valid Katmandoo database.

Test Connection Button

Encrypting database password text

The application settings file does not store plain text passwords in the database configuration file. To generate the encrypted database password, enter it into the input box and click encrypt text.

Encrypt Text Input

Building a configuration file

An application settings file can be generated by populating the configuration settings boxes.

Currently the database options are MySQL and SQL Server. Please ensure that the correct server type is selected or Katmandoo will use an invalid connector for accessing the database.

Server Type Input

The database host must be accessible by the web server hosting the Katmandoo installation. If the server is running locally then the host may be localhost. Remote hosts may be an IP address or host name.

Host Name Input

The connection port is optional. Please ensure it is supplied if not using default configuration settings for MySQL (3306) or SQL Server (1433). This can also be used if hosting multiple servers on the same host.

Port Input

The database name must match an installed Katmandoo database on the server.

Database Name Input

The database username supplied must have permission to access the Katmandoo database on the server.

Database User Name Input

The database password will be encrypted in the application settings file. Please ensure that the password is entered correctly as it is hidden on input and encrypted in the resulting file.

Database Password Input

The file upload path is the folder location where uploaded import files will reside on the server. File uploads are visible to specific to the currently logged in user and the current sub-system. Please ensure this folder exists and that it has the correct permissions for the Katmandoo interface to access. It is recommended that this folder is outside of the web folder so that authentication is enforced.

Upload Path Input

The media library path will contain uploaded documents that Katmandoo can reference for download by authorised users. Please ensure this folder exists and that it has the correct permissions for the Katmandoo interface to access. It is recommended that this folder is outside of the web folder so that authentication is enforced.

Media Path Input

The dot application file allows Katmandoo to run the Graphviz application to generate Scalable Vector Graphics (SVG) representations of complex dot files to display family linkages.

Dot Path Input

If Show Exception Details is checked then errors will show inner system exceptions useful when debugging Katmandoo. It is recommended that this option is disabled in a production environment.

Exception Detail Checkbox

The Enable Setup Tools option enables/disables the Tools-Setup page. The tools setup page does not require authorisation. It is recommended that this option is disabled in a production environment.

Enable Setup Tools Checkbox

The downloaded appsettings.json file can now be placed into the the root folder of the katmandoo installation (replacing the existing example file below). A JWT key and issuer will be generated by the system. Please ensure that all the issuer and key are different for every installation of katmandoo.

Download Config Button

Application Settings File Example

{
  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "Jwt": {
    "Key": "CHANGEthisKEYtoSOMETHINGsecure",
    "Issuer": "http://localhost:5000/"
  },
  "ConnectionStrings":
  {    
    "CoreConnection": "server=SERVER_HOST;userid=DATABASE_USERNAME;pwd=ENCRYPTED_PASSWORD;port=3306;database=YOUR_DATABASE_NAME;SslMode=none;AllowPublicKeyRetrieval=True"    
  },
  "Paths":
  {
    "FileUploadPath": "C:\\TEMP\\KMD3\\Uploads",
    "MediaLibraryPath": "C:\\TEMP\\KMD3\\Media",
    "DotApplicationPath": "C:\\bin\\dot.exe"
  },
  "Options":
  {    
    "ServerType": "MySQL",
    "ShowExceptionDetail":true,  
    "EnableSetupTools":true
  }    
}