Docker

The Docker image file HighByte-Intelligence-Hub-X.X.X Docker (Build XXXX.X.X.X).tar includes the Intelligence Hub runtime and configuration components, and is built from an Ubuntu Linux-based Eclipse Temurin image (eclipse-temurin:25-jre-noble). This section covers how to install and run the Docker image.

Install

  1. Run the following command to load the docker image:

    docker load -i "HighByte-Intelligence-Hub-X.X.X Docker (Build XXXX.X.X.X).tar"
    
  2. Setup a volume to host the application configuration. This step is optional, but recommended so that you do not lose your configuration when performing future image updates.

    docker volume create hb_vol
    
  3. Run the image. The below command includes making all ports available, but you may choose to restrict the ports. Remove the –mount source=hb_vol if not using a volume.

    docker run -p 45245:45245 -p 1885:1885 -p 8885:8885 -e ACCEPT_EULA=Y --name highbyte highbyte:X.X.X
    
  4. Required flags

    You must set the ACCEPT_EULA=Y environment variable to run the Intelligence Hub container. If this flag is not provided, the container will exit immediately. By setting this flag, you agree to the HighByte Intelligence Hub End User License Agreement .

    docker run -p 45245:45245 -p 1885:1885 -p 8885:8885 -e ACCEPT_EULA=Y --name highbyte highbyte:X.X.X
    
  5. Optional flags

    If you wish to use a volume, add --mount source=hb_vol to the run command.

    docker run -p 45245:45245 -p 1885:1885 -p 8885:8885 -e ACCEPT_EULA=Y --name highbyte --mount source=hb_vol,target=/usr/local/highbyte/appData highbyte:X.X.X
    

    If you want the container to restart after a failure, add the --restart=on-failure flag.

    docker run -p 45245:45245 -p 1885:1885 -p 8885:8885 -e ACCEPT_EULA=Y --name highbyte --restart=on-failure highbyte:X.X.X
    

Below is a list and description of each of the default ports.

Port Description
45245 REST API used for configuration.
1885 Internal MQTT Broker.
8885 REST data server, MCP, I3X

Overriding the Entry Script

The Docker image uses a default entry script that starts the Intelligence Hub application. You can override this script using the --entrypoint flag in the docker run command. This lets you invoke Java directly with a different main class, which is useful for starting the Intelligence Hub in High Availability mode without building a custom image.

For example, to start a node in High Availability mode by calling the HAMain class directly (for versions prior to 4.5):

docker run -p 45245:45245 -p 1885:1885 -p 8885:8885 --name highbyte \
  -e HA_URI="jdbc:postgresql://<db-host>:5432/dbName?user=username&password=password" \
  -w /usr/local/highbyte/runtime \
  --entrypoint java hb \
  -cp "intelligencehub-runtime.jar:lib/*" \
  com.highbyte.intelligencehub.runtime.HAMain \
  start -n node1Primary -j env:HA_URI

This bypasses the default entry script and invokes HAMain directly. Passing the database URI as an environment variable with env:HA_URI avoids exposing credentials on the command line. For full details on HA configuration, see High Availability - Docker .

High Availability

The Intelligence Hub Docker image supports running in High Availability mode using environment variables. See High Availability - Docker for configuration details.

OpenTelemetry

The Intelligence Hub Docker image supports OpenTelemetry using environment variables. See OpenTelemetry - Docker for configuration details.