Skip to content

Node Configuration

Node Configuration covers settings that apply to one Emakin agent node rather than the whole farm. Use it when you need to control execution mode, override configuration values, or protect sensitive local configuration.

Node configuration applies only to the local node and does not automatically affect remote nodes.

Execution Modes

The preserved documentation describes three execution modes:

  • Full Mode: web server plus background-job processing
  • Web Server Mode: web pages and API endpoints only
  • Agent Mode: background-job processing only

For command-level behavior, see Command Line Interface.

Configuration Precedence

Emakin uses layered configuration. The preserved order of precedence is:

  1. <installdir>/appsettings.json
  2. <configuration-data-path>/appsettings.json
  3. environment variables prefixed with AK_
  4. <configuration-data-path>/protectedsettings.json

<configuration-data-path> is Configuration/Data by default. The optional AK_CONFIGURATION_DATA_PATH environment variable can be used when node-local data must be stored in another location. This setting is normally not needed and should be defined only when a separate storage location is required.

The value can be an absolute path or a relative path. A relative value is resolved below the installation's Configuration directory; an absolute value is used directly. The selected path is used for node-local custom configuration, logs, and the FullText catalog. The directory must be writable by the agent account and must be on persistent storage when this data must survive service or container restarts.

Environment Variable Overrides

Environment variables starting with AK_ override JSON settings. Nested settings use double underscores.

Examples preserved from the existing page:

1
2
AK_DbProvider=Postgres
AK_DbConnStr="Host=myserver;Database=emakin;Username=emakin;Password=mypassword;"
1
AK_WEB__KESTREL__ENDPOINTS__HTTP__URL=http://*:81

Optional data-path override:

1
AK_CONFIGURATION_DATA_PATH=/var/lib/emakin/data

When this variable is not defined, Emakin continues to use <installdir>/Configuration/Data.

Command-Line Overrides

Command-line arguments override all other configuration layers.

Example:

1
.\AltiKare.Workflow.Agent.exe DBConnStr="Host=myserver;Database=emakin;Username=emakin;Password=mypassword;"

Protected Settings

Sensitive values can be encrypted into protectedsettings.json instead of being stored in plain text.

Warning: The preserved documentation states that encrypted settings are write-only. If protectedsettings.json is lost, the stored values cannot be read back.

Example using setconfig:

1
.\AltiKare.Workflow.Agent.exe setconfig DbConnStr 'Host=myserver;Database=emakin;Username=emakin;Password=mypassword;'

Encryption Key Storage Location

The preserved documentation states that encryption keys are stored in the agent user’s home directory by default. In containers, this can fail silently if the user cannot write there.

Recommended preserved example:

1
LOCALAPPDATA=/app/home

Mount this location to persistent storage in Docker or Kubernetes when protected settings must survive container restarts.

Diagnostic Traces

Work item diagnostic traces are controlled with node-local Diagnostics settings. Use them to choose whether traces are captured only for test-mode instances, for all instances, or not at all.

For trace mode, retention, and configuration examples, see Diagnostic Trace Configuration.