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.

  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 to the KX Downloads Portal to download the necessary images:

  1. Navigate to the KX Downloads Portal.

  2. Click Login and 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:

    • Click the Login link provided in the email, or
    • Copy the verification code from the email and paste it into the login page.
  4. Once you are logged in, navigate to Token Management, https://portal.dl.kx.com/auth/token.

  5. Click Add New Token.

  6. 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 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 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

                        
    1. Open and edit the docker-compose.yml file.

Login to the KX Downloads Portal

Run the following command to login to the KX Downloads Portal

bash

Copy
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:

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

  3. bash

    Copy
    docker compose up
                        

2. Navigate to http://localhost:9090to Open KX Dashboards.

Next Steps