Skip to content

Run in Docker

This page shows how to run Xtract Universal.iQ in a Docker container.

About the Xtract Universal.iQ Container

Theobald Software provides the Xtract Universal.iQ container image in a container registry. Credentials for the registry and a 30 day demo license can be requested on Theobald Software website Download Trial.

Xtract Universal.iQ stores its configuration, logs, and other persistent data outside the container. Docker supports both host directory mounts (bind mounts) and Docker-managed volumes for this purpose. The examples on this page use bind mounts.

Because the data is stored outside the container, your connections, services, and other settings remain available even if you stop, delete, or recreate the container. When you create a new container, you can attach the same bind mounts or Docker volumes and continue using your existing configuration.

For information about the folder structure inside the container, see Container Directories.

For information about ports, see Container Ports.

Prerequisites

To run in a Docker environment, Xtract Universal.iQ requires:

  • Credentials for the Theobald Software container registry and a (demo) license, see Download Trial.
  • Docker Engine.
  • A user account with permission to run Docker commands.

Pull the Container Image

To pull the Xtract Universal.iQ image from the Theobald Software container registry:

  1. Start Docker Desktop / Docker Engine.
  2. Open a terminal, e.g., PowerShell on Windows.
  3. Use the following command to log in to the Theobald Software container registry:

    docker login registry.theobald-software.com
    
  4. When prompted, provide your credentials. Note that the password is not displayed in the terminal when entering it.

  5. Use the following command to pull the Xtract Universal.iQ image:

    docker pull registry.theobald-software.com/theobald-software/xtract-universal-iq:latest
    

    Pulling the image might take some time.

The Xtract Universal.iQ image is now available in Docker.

Next, prepare the volume for the Xtract Universal.iQ container.

Tip

To check if the image was pulled correctly, open Docker Desktop and go to the Images menu. Alternatively, use the docker image ls command.

Prepare the Volumes

Xtract Universal.iQ requires two directories: input/ and data/. The data/ directory stores configuration, logs, and other persistent data. The input directory is used to provide certificates and the license file to the container.

For more information, see Container Directories.

To prepare the volume and the license on Windows:

  1. Create the folders input/ and data/ in a local directory of the host machine, e.g., C:\Docker\xtract-universal-iq\:

    New-Item -ItemType Directory -Force .\data, .\input
    
  1. Ensure that the Windows user running Docker Desktop has permission to access the folders.
  2. Move the XtractUniversalIqLicense.json license file into the input/ folder to apply the license.

The volume is ready to use.

Next, create the Xtract Universal.iQ container.

To prepare the volume and the license on Linux:

  1. Create the folders input/ and data/ in a local directory, e.g., /docker/xtract-universal-iq:

    mkdir -p data input
    
  2. Assign the required directories to the user with UID 1000, which runs Xtract Universal.iQ inside the container:

    sudo chown -R 1000:1000 data input
    
  3. Move the XtractUniversalIqLicense.json license file into the input/ folder to apply the license.

The volume is ready to use.

Next, create the Xtract Universal.iQ container.

Note

If the directories are located in the WSL Linux file system, use the Linux instructions.

Create the Container

The following docker run command creates and runs a container that uses the Xtract Universal.iQ image.

docker run `
--name xtract-universal-iq `
--network=bridge `
--restart=no `
-p 8075:8075 `
-p 8076:8076 `
-p 8077:8077 `
-p 8175:8175 `
-p 8176:8176 `
-p 8177:8177 `
--runtime=runc `
-t `
-v .\data\:/XtractUniversaliQ/data/ `
-v .\input\:/XtractUniversaliQ/input/ `
-d registry.theobald-software.com/theobald-software/xtract-universal-iq:latest `
/bin/bash
docker run \
--name xtract-universal-iq \
--network=bridge \
--restart=no \
-p 8075:8075 \
-p 8076:8076 \
-p 8077:8077 \
-p 8078:8078 \
-p 8175:8175 \
-p 8176:8176 \
-p 8177:8177 \
-p 8178:8178 \
--runtime=runc \
-t \
-v .\data\:/XtractUniversaliQ/data/ \
-v .\input\:/XtractUniversaliQ/input/ \
-d registry.theobald-software.com/theobald-software/xtract-universal-iq:latest \
/bin/bash

Alternatively, use the Docker Compose file provided below with the docker compose up command. Docker Compose stores the configuration in a YAML file. This makes the container easier to manage and modify later. For more information, see Docker Documentation: Docker Compose.

Download Docker Compose File

You can access the container from the browser of your host machine using http://localhost:8077/.

Next, connect Xtract Universal.iQ to an SAP source system, see SAP Connection.

Update the Container

To update Xtract Universal.iQ to a new version, load a new image and start a new container from that image. You can create the new container manually with docker run or with Docker Compose.

Note

Your configuration is stored on your host machine. When creating the new container, the configuration is mapped to the container volume. As a result, your connections, services, and other settings remain available after the update.

To update Xtract Universal.iQ:

  1. Open a terminal on the host machine of the Xtract Universal.iQ container, e.g., PowerShell on Windows, and navigate to the directory that contains the volumes:

    cd C:\Docker\xtract-universal-iq
    
  2. If necessary, log in to the Theobald Software container registry using your credentials:

    docker login registry.theobald-software.com
    
  3. Pull the latest Xtract Universal.iQ image:

    docker pull registry.theobald-software.com/theobald-software/xtract-universal-iq:latest
    

    Pulling the image might take some time.

  4. After Docker loads the new image, update the container manually or with Docker Compose:

    • Manual Update:
      Stop and delete the existing container using the Docker Desktop UI or the docker rm -f <container-name> command. Then create a new container, see Create the Container.
    • Docker Compose Update:
      Run the docker compose up --force-recreate command in the directory that contains the Docker Compose file to recreate the container with the new image.
  5. Optional: After testing the new version, delete the old image from Docker to save storage.

The container runs with the updated Xtract Universal.iQ version and your existing configuration.


Last update: September 17, 2026