Docker Deployment
This page describes how to deploy KX Dashboards through Docker. It includes steps for generating access tokens, configuring the compose file, managing licenses, and running the services.
Prerequisites
Before proceeding with the steps on this page, ensure you have the following:
- Docker (latest version recommended, including Docker Compose extension)
- Valid license (kdb+ or kdb Insights SDK, depending on target environment). You need the source path to your license for the Configure the Docker Compose File step.
Deploy using Docker Quick Start
To deploy KX Dashboards, complete the following steps:
- Generate a Bearer Token for the KX Downloads Portal
- Configure the Docker Compose File with the appropriate settings
- Login to the KX Downloads Portal using your bearer token
- Run KX Dashboards using Docker Compose
Generate a Bearer Token for the KX Downloads Portal
The following steps explain how to obtain the KX Downloads Portal credentials required to login and download the necessary images:
- Navigate to the KX Downloads Portal.
- Click Login, enter your email address, and click Sign In.
- Check your email for a message from
noreply@kx.comto complete your login to https://portal.dl.kx.com. You can either: - Click the Login link provided in the email, or
- Copy the verification code from the email and paste it into the login page.
- Once logged in, navigate to Token Management: https://portal.dl.kx.com/auth/token.
- Click Add New Token.
- Copy and securely save the Bearer token — it is only shown once.
Info
If you have completed the trial download process on the KX website, use the bearer token provided in your email.
If you do not have credentials to access the KX Downloads Portal, please contact sales@kx.com.
This bearer token is required in the Login to the KX Downloads Portal step.
Configure the Docker Compose File
In order to run KX Dashboards using Docker you must configure a docker-compose.yml file. This file specifies how to deploy the following services on a custom Docker network using Docker Compose:
dash-web— Containerized version of KX Dashboardsgui-gateway— Containerized q server script with the main scriptgo.qgui-data— Containerized script that serves data
It also includes volume mounting to persist state and manage licenses.
-
Copy the following configuration file and save it as
docker-compose.ymlin the directory where you intend to run thedocker compose upcommand.# custom network https://docs.docker.com/compose/networking/ networks: kx: name: kx driver: bridge # volume save gateway state in the docker volumes volumes: gw-data: services: dash-web: image: "portal.dl.kx.com/dash-web:<version>" ports: - "9090:8080" networks: - kx restart: unless-stopped depends_on: - gui-gateway gui-gateway: image: "portal.dl.kx.com/kxi-gui-gateway:<version>" ports: - "10001:10001" networks: - kx restart: unless-stopped volumes: - gw-data:/opt/kx/app/data # NOTE: without kc.lic qpacker based containers like gui-gateway will not start # Uncomment for Windows - create lic directory with valid kc.lic file in it # - ./lic:/opt/kx/lic # Uncomment for Linux / MacOS - make sure kc.lic file is present in ${HOME}/.qp.licenses # - ${HOME}/.qp.licenses:/opt/kx/lic gui-data: image: "portal.dl.kx.com/kxi-gui-data:<version>" ports: - "6812:6812" restart: unless-stopped volumes: - .:/opt/kx/app/sample/hdb/date # Uncomment for Windows - create lic directory with valid kc.lic file # - ./lic:/opt/kx/lic # Uncomment for Linux / MacOS - make sure kc.lic file is present in ${HOME}/.qp.licenses # - ${HOME}/.qp.licenses:/opt/kx/lic networks: - kx -
Open and edit the
docker-compose.ymlfile:-
Specify the KX Dashboards image versions in the
image:reference lines, using the format<registry>/<image-name>:<version>, where:Field Description <registry>The KX Downloads Portal: portal.dl.kx.com<image-name>One of the three KX Dashboards images: dash-web,kxi-gui-gateway, orkxi-gui-data<version>The version of KX Dashboards to install. Current versions: dash-web: 2.20.0,kxi-gui-gateway: 1.15.1,kxi-gui-data: 1.15.1 -
To use KX Dashboards, you must provide a valid kdb+ license. The type of license required depends on whether you are integrating with kdb+ or kdb Insights SDK.
In the
volumesblocks (forgui-dataandgui-gateway), uncomment the appropriate line based on your operating system:OS Line to uncomment Linux / macOS - ${HOME}/.qp.licenses:/opt/kx/licWindows - ./lic:/opt/kx/licThe source path you specify must already exist and contain a valid license file. This configuration enables Docker to mount the license file into the container.
-
Login to the KX Downloads Portal
Run the following command to login to the KX Downloads Portal:
docker login portal.dl.kx.com -u <user_name> -p <bearer_token>
Where <user_name> and <bearer_token> are the values obtained from the Generate a Bearer Token step.
Run KX Dashboards using Docker Compose
To start KX Dashboards:
- Navigate to the directory containing
docker-compose.yml. -
Run the following command:
docker compose up -
Navigate to http://localhost:9090 to Open KX Dashboards.