The DataJet server configuration file is called djserver.cnfg. It holds the engine, network, database, email, file-transfer and access-server settings, and is read once when the server starts; changes take effect on the next restart. Every DataJet server needs access to a djserver.cnfg file, and several engine instances can reference the same file.
Encryption type
The file can be in one of two formats:
- encrypted (supplied by DataJet)
- plain text (from v7.10.15.1)
The format used depends on system requirements.
Migration procedure
To change the format of djserver.cnfg — for example, to replace the DataJet-supplied encrypted file with a plain-text one:
- Back up the existing
djserver.cnfg. - Replace it on every realm/engine server with the new file, keeping the filename
djserver.cnfg. - Restart the engine — the new file is read at start-up.
Config file location
The default location of the server config is the home directory of the user account that runs the engine. Control which config file is used with the inipath command-line parameter in the engine start-up file (see command-line-options):
inipath=[ini_file_location]
The chosen path appears in the start-up log.
When using inipath, make sure both djserver.cnfg and djclient.cnfg are in the specified location. The companion djclient.cnfg is documented in client-configuration-file.
Example start-up file
cd bin
DatajetServer.exe path=f:\datajet\ bin=f:\datajet\bin\ porta=5555 portb=5556 shareddatapath=\\fileserver\DJSharedData\sources datapath=f:\datajet\datasources\ mongoURL=127.0.0.1 mongoPort=27017 rms=48
pause
As of v8.6.2.1, emails are no longer sent via the DataJet mail server. An alternative mail server must be configured.
Email can be sent via:
- the organisation's own mail server, or
- SendGrid (a cloud-based email delivery service).
Mail server
"smtpServerName": "127.0.0.1",
"smtpPort": 25,
"senderUsername": "<username>",
"senderPassword": "<password>",
"senderEmailId": "noreply@example.com",
"senderName": "Example Group"
SendGrid
For SendGrid, senderUsername is the literal string apikey, and senderPassword is the SendGrid API key.
"smtpServerName": "smtp.sendgrid.net",
"smtpPort": 587,
"senderUsername": "apikey",
"senderPassword": "SG.<your-api-key>"
Configuration file settings
Configuration settings can be specified in the server configuration file, or passed in via the command line in the start-up script. Where a setting is given in both places, the value in the configuration file is used.
| Setting | Value | Description |
|---|---|---|
| path | path | Root DataJet path. |
| bin | path | Location of the server binaries. |
| datapath | path | Location of the data sources. |
| shareddatapath | path | Location of shared data sources. |
| porta | port | Primary port. |
| portb | port | Secondary port. |
| mongoURL | host | MongoDB host. |
| mongoPort | port | MongoDB port. |
| rms | 16–256 | Requestable Memory Size in GB; see Command Line → rms. Default = 32. |
| processPoolSize | integer | Number of worker processes in the processing pool. Clamped to 4–32. |
| IP | address | Address the server binds to. |
| localPort | port | Port for client/desktop connections. |
| corePort | port | Port for the core processor. |
| coreLGb | integer | Core memory budget in GB. Clamped to 8–128. |
| fragments | integer | Clamped to 500–8000. |
| coreCache | integer | Core cache size. |
| scriptSemaphoreSize | integer | Maximum concurrent scripts. Clamped to 1–3. |
| exportSemaphoreSize | integer | Maximum concurrent exports. Clamped to 1–8. |
| allowLocalLogin | true / false | [CONFIRM] |
| FTP_ROOT, FTP_USERNAME, FTP_PASSWORD, FTP_URL, FTP_PORT, FTP_MODE, FTP_FILE_DESTINATION, FTP_DEBUG_INFO | — | FTP file-transfer settings. FTP_MODE example value: FILE_MOVE. |
| python | path | Path to the Python executable. |
| R | command | R invocation (for example RScript). |
| smtpServerName, smtpPort, senderEmailId, senderPassword | — | Outbound email settings (SMTP). senderUsername defaults to senderEmailId; senderName defaults to Datajet Software. |
| ASvrLoggingEndpoint, ASvrLoggingSecret | — | Access-server logging. |
| PSvrLoggingEndpoint, PSvrLoggingSecret | — | Processing-server logging. |
| ASvrEndpoint, ASvrSecret | — | Access-server endpoint and shared secret. |
| TestASvrEndpoint | — | Overrides ASvrEndpoint when a test_access_server.url flag file is present. For test environments only. |
Sample config file (local machine)
{
"processPoolSize": 8,
"IP": "0.0.0.0",
"localPort": 5555,
"corePort": 5556,
"mongoURL": "127.0.0.1",
"mongoPort": 27017,
"coreLGb": 32,
"rms": 32,
"fragments": 2000,
"coreCache": 256,
"scriptSemaphoreSize": 2,
"exportSemaphoreSize": 2,
"allowLocalLogin": true,
"FTP_ROOT": "/path/to/ftp/root/",
"FTP_USERNAME": "<username>",
"FTP_PASSWORD": "<password>",
"FTP_URL": "<ftp-host>",
"FTP_PORT": 22,
"FTP_MODE": "FILE_MOVE",
"FTP_FILE_DESTINATION": "/path/to/destination",
"FTP_DEBUG_INFO": true,
"python": "C:/Program Files/Python311/python.exe",
"R": "RScript",
"smtpServerName": "smtp.example.com",
"smtpPort": 587,
"senderEmailId": "support@example.com",
"senderPassword": "<smtp-password>",
"ASvrLoggingEndpoint": "https://access.example.com/api/0/engine",
"ASvrLoggingSecret": "<asvr-logging-secret>",
"PSvrLoggingEndpoint": "https://access.example.com/api/0/engine",
"PSvrLoggingSecret": "<psvr-logging-secret>",
"TestASvrEndpoint": "https://access.example.com/api/0/key",
"ASvrEndpoint": "https://access.example.com/api/0/key"
}