Setting up Qlik Data Gateway - Direct Access in a container
Last updated: 9/21/2026
This topic outlines the how to set up containerized Direct Access gateway. It provides prerequisites and installation instructions, and describes the limitations and considerations you should be aware of when working with containerized Direct Access gateway.
Information noteSupported from Direct Access gateway 1.8.0.
What is containerized Direct Access gateway?
You can deploy Direct Access gateway into a Docker container. This type of deployment is called containerized Direct Access gateway. Containerized Direct Access gateway deployments are supported for Linux, macOS, and Windows.
Containerized Direct Access gateway provides portability to your Direct Access gateway environment.
Best practices when using Qlik Data Gateway - Direct Access
For a successful experience when using Qlik Data Gateway - Direct Access, it is strongly recommended to adhere to the following best practices:
Do not use the same Direct Access gateway for development, user acceptance testing, and production, as this will increase the risk of overloading the available resources and impact system stability. From a business perspective, the combination of insufficient resources and decreased stability, might result in delayed updates to production application data.
For optimal performance, install the Direct Access gateway in an environment that is as close as possible to your data source.
System prerequisites
This section describes the requirements for using containerized Direct Access gateway.
Software requirements
Docker Engine version 20.9+ and the Docker Compose plugin (docker compose, v2 syntax) installed on the host.
Host: 8 cores, 32 GB memory, 5 GB storage available to Docker
Optional: Set matching limits on the container in the compose file so the gateway has dedicated capacity rather than competing with other containers or processes on the host:
The minimum hardware is only suitable for specific scenarios using smaller dedicated deployments (development, test, or production), with continuously low data volumes, and a limited number of concurrent reloads.
Host: 4 cores, 8 GB memory, 5 GB storage available to Docker
Optional: Set matching limits on the container in the compose file so the gateway has dedicated capacity rather than competing with other containers or processes on the host:
Setting up the Direct Access gateway involves procedures that need to be performed both in the Administration activity center and on the Direct Access gateway server.
Information noteData gateway procedures that need to be performed in the Administration activity center require tenant admin permission.
Stage one: Download Qlik Data Gateway - Direct Access
In the Administration activity center, select Data gateways.
Select Data Gateway - Direct Access - Containerized Direct Access Gateway, accept the Qlik Customer Agreement, and click Download. The Direct Access gateway setup file (docker-compose.qlik-data-gateway-direct-access.yml) will be downloaded to your machine.
Stage two: Start the deployment by running the Docker Compose file
To start the deployment of the Direct Access gateway, run the following command:
docker compose -f docker-compose.qlik-data-gateway-direct-access.yml up
You can also register Direct Access gateway automatically from the command line, without using the Administration activity center. This method uses a short-lived session token generated from an OAuth client.
Information noteAutomatic registration is supported through the command line only. A REST API for automatic gateway registration is not currently available.
Prerequisites
An API key with tenant admin permission to create and manage OAuth clients.
Registering the gateway with automatic registration
First, you need to set up a Python environment to generate an OAuth client ID, as well as an assertion key (short-lived token) in the direct-access-agent container. Run the following commands separately, in this order:
For the last command in the list above, follow the interactive prompts and copy the client_id (OAuth client ID) and assertion when provided. Store these details on paper or in a temporary text file for now—they are required for later steps in the process.
When you have written down the client_id and assertion, clean the Python environment with the following command:
Use the following steps to unregister a gateway that was registered using the automatic, session token-based method described above. These steps also remove the OAuth client, bot user, and role that were created for it.
This section lists specific environment variables from the docker-compose.qlik-data-gateway-direct-access.yml file which you might need to configure to properly connect your data sources via the gateway.
ALLOW_SOURCES: A comma-separated allowlist of hostnames and IPs. When the gateway agent needs to connect to something on your own server or another host in the local or private network (for example, a database on localhost, a Docker service name, or a private-IP host), you add that address to ALLOW_SOURCES — otherwise the connection attempt is refused.
Supported data sources
The following ODBC connectors are supported for containerized installations: