Docker Configuration

The first step of installing the Scalable Query Engine is to configure and build the Docker images of the worker pods.

In the git project, jaspersoft-containers/Docker/scalableQueryEngine/ contains the following files and folders:

File or Folder Description


The main installation script for the Scalable Query Engine.


Environment variables for building the Docker images, see the next section.


Script that copies the supported JDBC Drivers from JasperReports Server to the Scalable Query Engine.


Compose file to orchestrate the Scalable Query Engine, its drivers, and the redis services.


Folder containing scripts for the Scalable Query Engine.


Folder created by scripts with a copy of the JDBC drivers.


Folder where you place a copy of the JasperReports Server keystore.


Folder containing properties files for the Scalable Query Engine.

Configuring the Docker Images

Before building the Docker images, edit the .env file to specify the following properties:

Property Description


JasperReports Server release version (must be 8.0.0 or higher).


Name for the Docker image, scalable-query-engine by default.


Name for the JDBC drivers Docker image, scalable-adhoc-drivers by default.


Docker tag for the Scalable Query Engine image, 8.0.0 by default.


Docker tag for the Scalable Query Engine Drivers image, 8.0.0 by default.


Docker image certified for the version of JasperReports Server being deployed, either openjdk:11-jdk for Debian or amazoncorretto:11 for Amazon Linux 2.


Path to the server's .jrsks keystore file, usually /etc/secrets/keystore.


Path to the server's .jrsksp keystore properties file, usually /etc/secrets/keystore.


Release date of the JasperReports Server version, for example Nov 14, 2021 when using 8.0.0.

Building the Docker Images

The recommended way to build the Docker images for the Scalable Query Engine is to use docker-compose command as follows:

cd <js-install>/jaspersoft-containers/Docker/scalableQueryEngine
docker-compose build

If there is an error such as "requested access to the resource is denied," then run the following commands:

sudo gpasswd -a $USER docker
newgrp docker

Alternatively, you can also build the Docker images with the following commands:

cd <js-install>
docker build -t scalable-query-engine:<docker-tag>
             -f jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile .
docker build -t scalable-query-engine-drivers:<drivers-tag>
             -f jaspersoft-containers/Docker/scalableQueryEngine/Dockerfile.drivers .

Deploying with Docker Alone (Optional)

If you want to install the Ad Hoc worker with Docker alone, the deployment is simpler, but you do not have the advantages of a cluster managed through Kubernetes. If you want to deploy with Kubernetes and Helm charts, skip this section and go to Deploying with Kubernetes.

Edit the file docker/ to make any necessary configuration. In particular, any JNDI data source to be used in Ad Hoc views and reports needs to be configured in this properties file.

1. Copy your server's keystore and keystore properties files to <js-install>/jaspersoft-containers/Docker/scalableQueryEngine/resources/keystore. The keystore files must be same that JasperReports Server used when creating its repository database.
2. Navigate to the <js-install> directory and run the following command:
docker network create jrs_default 
docker-compose up -d scalable-query-engine

You can check that the worker is running at:


3. Configure your JasperReports Server instance as descirbed in Configuring JasperReports Server, then restart your server.

Once your server and query engine are running, you can test a dashboard that contains an Ad Hoc view. After it runs, you can check the worker logs with the following command on the server:

docker logs scalable-query-engine/8.0.0