Send Feedback
Skip to content

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:

Deploy using Docker Quick Start

To deploy KX Dashboards, complete the following steps:

  1. Generate a Bearer Token for the KX Downloads Portal
  2. Configure the Docker Compose File with the appropriate settings
  3. Login to the KX Downloads Portal using your bearer token
  4. 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:

  1. Navigate to the KX Downloads Portal.
  2. Click Login, enter your email address, and click Sign In.
  3. Check your email for a message from noreply@kx.com to complete your login to https://portal.dl.kx.com. You can either:
  4. Click the Login link provided in the email, or
  5. Copy the verification code from the email and paste it into the login page.
  6. Once logged in, navigate to Token Management: https://portal.dl.kx.com/auth/token.
  7. Click Add New Token.
  8. 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 Dashboards
  • gui-gateway — Containerized q server script with the main script go.q
  • gui-data — Containerized script that serves data

It also includes volume mounting to persist state and manage licenses.

  1. Copy the following configuration file and save it as docker-compose.yml in the directory where you intend to run the docker compose up command.

    # 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
    
  2. Open and edit the docker-compose.yml file:

    • 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, or kxi-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 volumes blocks (for gui-data and gui-gateway), uncomment the appropriate line based on your operating system:

      OS Line to uncomment
      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.

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:

  1. Navigate to the directory containing docker-compose.yml.
  2. Run the following command:

    docker compose up
    
  3. Navigate to http://localhost:9090 to Open KX Dashboards.

Next Steps