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 this step.
Deploy using Docker quick start
To deploy KX Dashboards, complete the following steps.
Generate a Bearer Token for the KX Downloads Portal
The following steps explain how to obtain the KX Downloads Portal credentials required to login to the KX Downloads Portal to download the necessary images:
-
Navigate to the KX Downloads Portal.
-
Click Login and enter your email address and click Sign In.
-
Check your email for a message from noreply@kx.com to 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 you are 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.
Information
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 later for login to the KX Downloads portal.
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 Dashboards -
gui-gateway
- Containerized q server script with the main scriptgo.q
. -
gui-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 a file name
docker-compose.yml
in the directory where you intend to run the docker compose up command.yml
Copy# 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:2.12.0"
ports:
- "9090:8080"
networks:
- kx
restart: unless-stopped
depends_on:
- gui-gateway
gui-gateway:
image: "portal.dl.kx.com/kxi-gui-gateway:2.12.0"
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:2.12.0"
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.yml
file.File details:
- Specify the KX Dashboards image versions in the
image:
reference lines, using the format<registry>/<image-name>:<version>
, where:<registry>
This is the KX Downloads Portal,portal.dl.kx.com
<image-name>
There is an entry for each of the KX Dashboards images:dash-web
,kxi-gui-gateway
, andkxi-gui-data
<version>
The version of KX Dashboards you want to install. For example 2.12.0 (Major.Minor.Patch)
- To use KX Dashboards, you must provide a valid kdb+ license. The type of license you need depends on whether you are going to integrate KX Dashboards with kdb+ or kdb Insights SDK
In thevolumes
blocks (forgui-data
andgui-data
), uncomment the appropriate line based on your operating system:- Linux/macOS:
- ${HOME}/.qp.licenses:/opt/kx/lic
- Windows:
- ./lic:/opt/kx/lic
The 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.
- Linux/macOS:
- Specify the KX Dashboards image versions in the
-
Login to the KX Downloads Portal
Run the following command to login to the KX Downloads Portal
bash
docker login portal.dl.kx.com -u <user_name> -p <bearer_token>
Where user_name
and bearer_token
are the values from this step.
Run KX Dashboards using Docker Compose
To start KX Dashboards:
- Navigate to the directory containing
docker-compose.yml
. -
Run the following command:
bash
docker compose up
2. Navigate to http://localhost:9090
to Open KX Dashboards.