logoBack to home screen

Installing ADx - Before You Start

If you don't want to use Docker or Kubernetes, you can install ADx using a provided .zip archive which contains all required tools and resources necessary for a local installation. This document will guide you through it.


  • Linux or Windows server environment with a user that has the write access.
  • Java version 11.
  • Environment variable JAVA_HOME must be set and [JAVA_HOME]/bin must be on the PATH. Alternatively, you can use an environment script to set these variables, see below.
  • A running database - you will need the URL (host name and port) and user credentials. Database setup must be provided by your organization.
  • A valid license file. If you don't have a license yet, please request it from your contact person at Braintribe.
  • Deployment packages (Conversion and ADx Core)

Prerequisites for a Clustered Environment

  • Load balancer servers must be set up for Conversion and ADx Core if you want to run ADx in a clustered environment. Similarly to the database, load balancer must be provided by your organization.
  • Shared file system for ADx and Conversion clusters must be provided, so that all nodes have access to same files (such as uploaded documents or conversion files).

Hardware Requirements

We recommend to set up your machines in accordance with the following requirements:

Memory Minimal Requirements

  • JVM heap memory - at least 4 GB
  • JVM non-heap memory - at least 4 GB
  • Initial heap memory equal to maximum heap memory. You can set the initial and maximum heap size in the installation settings (4 GB each is the default setting).

CPU Minimal Requirements

  • Minimum 2 CPUs
  • Maximum depends on your load.

Database Connection Minimal Requirements

We recommend to allow at least 100 connections for ADx in your database connection pool.

Memory and CPU Scaling

In principle, we recommed to double the memory in GB compared to the number of CPUs, keeping the minimal values in mind. Heap memory size should be equal to non-heap memory size.

Vertical Scaling

Memory (GB) = 2 * number of CPUs or 8 GB (minimum requirements) - whichever is greater.

  • 2 CPUs (minimum) = 8 GB of memory (4 GB heap, 4 GB non-heap as per minimal requirements)
  • 4 CPUs = 8 GB of memory (4 GB heap, 4 GB non-heap)
  • 8 CPUs = 16 GB of memory (8 GB heap, 8 GB non-heap)
  • 16 CPUs = 32 GB of memory (16 GB heap, 16 GB non-heap)

Horizontal Scaling

  • Increase the number of Conversion nodes based on your expected/observed load increase.

  • Refer to the below table showing resource consumption levels per job type. If you know the distribution of job types in your organization, it should help you estimate the load.

    Job typeExpected resource consumption
    Convert to imageHeavy
    Prepare for WebReaderHeavy
    Convert to PDFAverage
    Merge documentsAverage
    Merge templatesAverage
    Apply watermarkLight
    Apply templateLight
    Extract textLight without OCR, otherwise heavy