Skip to content

Qlik Associative Engine

The Qlik Associative Engine is the central service in the Qlik Core stack. It has a lot of features and configuration options which we have dedicated pages for. Please use the menu on your left to read more about the unique capabilities of Qlik Associative Engine, and check out our tutorials how to configure your instances of Qlik Associative Engine.


Qlik Associative Engine is distributed as a Docker image and is available on Docker Hub as qlikcore/engine. New versions of the Qlik Analytics Engine docker image will regularly be published to the Docker Hub repository. To find the last published or all available versions look here.


Qlik Core does not make use of the opinionated latest image tag, due to that the concept is often misinterpreted. Fetching an image with the latest tag using for example docker pull, does not necessarily retrieve the last published image, and since the Qlik Analytics Engine version is essential for us to be able to provide support, we have decided to keep all published docker images versioned.

The Qlik Associative Engine is developed by Qlik as closed source.


Qlik Associative Engine supports multiple APIs, designed for specific use cases.

API Description
QIX Document consumption using JSONRPC and WebSocket protocols.
File Connector Uploading and downloading of files using the gRPC protocol.
Data Connector High-performance data loading using the gRPC protocol.
Analytical Connector Server side extensions using the gRPC protocol.

Command Line Parameters

The Qlik Associative Engine has a number of command line parameters that can be used to toggle functionality. These parameters are passed when starting a Qlik Associative Engine docker container:

Using docker run:

docker run qlikcore/engine:<version> -S <setting1>=<value> -S <setting2>=<value> ...

or using a docker-compose file:

version: "3.1"

    image: qlikcore/engine:<version>
    command: -S ValidateJsonWebTokens=2 -S JsonWebTokenSecret=passw0rd

Below is a list of Qlik Associative Engine command line parameters used in Qlik Core:

Parameter Values Description Default
AcceptEULA yes or no Whether the EULA for running the container is accepted or not. For more information please see the Licensing chapter. no
BuildAppCacheAtStartup 0 (disabled) or 1 (enabled) Will make the Qlik Associative Engine build a cache of documents found in the DocumentDirectory at startup, making it possible to list them through getDocList API 0 (disabled)
DocumentDirectory File path Directory that Qlik Associative Engine should use for documents inside the docker container. /home/engine/Qlik/Sense/Apps
EnableABAC 0 (disabled) or 1 (enabled) Attribute-Based Access Control feature that can be used for controlling application access through rules. For more details see Access Control. 0 (disabled)
EnableFilePolling 0 (disabled) or 1 (enabled) Feature for sharing and synchronizing documents between Qlik Associative Engine instances sharing the same filesystem. For more details see Document Synchronization. 0 (disabled)
EnableGrpcCustomConnectors 0 (disabled) or 1 (enabled) Enables gRPC connectors in the Qlik Associative Engine. For more details see this data loading tutorial. 0 (disabled)
EnableGrpcFileStreamConnector 0 (disabled) or 1 (enabled) Enables gRPC File Connector feature in the Qlik Associative Engine. For more details see this remote files tutorial. 0 (disabled)
GrpcConnectorPlugins <connector identifier>,<connector host>:<connector port> e.g. jdbc,jdbc-connector:50051 Registers a connector with identifier connector identifier, which we tell the Qlik Associative Engine exists on connector host and listening on connector port. Requires EnableGrpcConnectorPlugins to be enabled. For more details see this introduction. 0 (disabled)
JsonWebTokenPath File path Path to pem file. For more details see the Authorization chapter. n/a
JsonWebTokenSecret string Requires the ValidateJsonWebTokens parameter to be set. For more details see the Authorization chapter. n/a
LicenseServiceUrl URL string URL to the License service. If not configured the developer edition will be used. For more information please see the Licensing chapter. n/a
SSEPlugin <PluginConfig>[;<PluginConfig>] A PluginConfig is a comma-separated list of configuration elements in the format <PluginName>,<Address>[,<PathToCertFile>,<RequestTimeout>,<ReconnectTimeout>].

For further details on each element see How to configure an Analytical Connector in Qlik Core.

SystemAllowRulePath File path File path to the Allow rules file. Requires the EnableABAC parameter to be enabled. n/a
SystemDenyRulePath File path File path to the Deny rules file. Requires the EnableABAC parameter to be enabled. n/a

0 (Not enforced)

1 (Enforce unsigned or signed JWTs)


2 (Enforce signed JWTs)
Parameter for enforcing validation of JWT. For more details see the Authorization chapter. 0 (Not enforced)

In addition to the command line parameters above it is also possible to increase or decrease log level on different Qlik Associative Engine logging types. The logging types and levels is in more detail described in the Logging section.

User and group management

The Qlik Associative Engine Docker runs as user and group 1910:1910. You can read more about using a unique UID/GID in dockerfile best practices.

Load Script Reference

To load and model data the Qlik Associative Engine uses a load script syntax that is further described in the Load Script Reference chapter.


Following the Metrics conventions, Qlik Associative Engine exposes metrics that can be used to monitor the service.

Qlik Associative Engine exposes the metrics data on a separate port from its other APIs, this separation was made to ensure that exposing the default API (port 9076) wouldn't also expose potentially sensitive data from the metrics endpoint.

The metrics endpoint can be found on port 9090 by default (example: http://localhost:9090/metrics), you may configure this by starting Qlik Associative Engine with -S PrometheusPort <port number>.