Documentation Index

Fetch the complete documentation index at: https://docs.datajet.app/llms.txt

Use this file to discover all available pages before exploring further.

Server Configuration File

Prev Next

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:

  1. Back up the existing djserver.cnfg.
  2. Replace it on every realm/engine server with the new file, keeping the filename djserver.cnfg.
  3. 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.

Note!

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


Email

Note!

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.

SettingValueDescription
pathpathRoot DataJet path.
binpathLocation of the server binaries.
datapathpathLocation of the data sources.
shareddatapathpathLocation of shared data sources.
portaportPrimary port.
portbportSecondary port.
mongoURLhostMongoDB host.
mongoPortportMongoDB port.
rms16–256Requestable Memory Size in GB; see Command Line → rms. Default = 32.
processPoolSizeintegerNumber of worker processes in the processing pool. Clamped to 4–32.
IPaddressAddress the server binds to.
localPortportPort for client/desktop connections.
corePortportPort for the core processor.
coreLGbintegerCore memory budget in GB. Clamped to 8–128.
fragmentsintegerClamped to 500–8000.
coreCacheintegerCore cache size.
scriptSemaphoreSizeintegerMaximum concurrent scripts. Clamped to 1–3.
exportSemaphoreSizeintegerMaximum concurrent exports. Clamped to 1–8.
allowLocalLogintrue / false[CONFIRM]
FTP_ROOT, FTP_USERNAME, FTP_PASSWORD, FTP_URL, FTP_PORT, FTP_MODE, FTP_FILE_DESTINATION, FTP_DEBUG_INFOFTP file-transfer settings. FTP_MODE example value: FILE_MOVE.
pythonpathPath to the Python executable.
RcommandR invocation (for example RScript).
smtpServerName, smtpPort, senderEmailId, senderPasswordOutbound email settings (SMTP). senderUsername defaults to senderEmailId; senderName defaults to Datajet Software.
ASvrLoggingEndpoint, ASvrLoggingSecretAccess-server logging. 
PSvrLoggingEndpoint, PSvrLoggingSecretProcessing-server logging. 
ASvrEndpoint, ASvrSecretAccess-server endpoint and shared secret.
TestASvrEndpointOverrides 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"
}

See also