DockerΒΆ

We provide an image for demo and testing purpose on Docker Hub. A container of this image can be easily started with the following command:

docker run -p 8080:8080 axonivy/axonivy-engine

After startup, the engine is available at http://localhost:8080/ivy. On GitHub you can find many examples for using our docker image.

Warning

Since the container should always be updated with the latest security patches, we recommend that you build your own image for production systems.

If you need to build an own image, take a closer look at the following Dockerfile:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
FROM openjdk:11-jre-slim-stretch
LABEL maintainer="Reto Weiss <reto.weiss@axonivy.com>" 

ARG IVY_ENGINE_DOWNLOAD_URL
ARG IVY_PACKAGE_NAME=axonivy-engine-7x
ARG IVY_HOME=/usr/lib/axonivy-engine

RUN apt-get update && \
    apt-get install -y wget && \
\
    useradd --uid 1000 --user-group --no-create-home ivy && \
\
    wget ${IVY_ENGINE_DOWNLOAD_URL} -O /tmp/${IVY_PACKAGE_NAME}.deb && \
    dpkg -i /tmp/${IVY_PACKAGE_NAME}.deb && \
    ln -s /usr/lib/${IVY_PACKAGE_NAME} ${IVY_HOME} && \
    ln -s /var/lib/${IVY_PACKAGE_NAME} /var/lib/axonivy-engine && \
    ln -s /etc/${IVY_PACKAGE_NAME} /etc/axonivy-engine && \
    rm -f /tmp/${IVY_PACKAGE_NAME}.deb && \
\
    rm -rf ${IVY_HOME}/system/application/EngineConfigUi && \
    rm -rf /usr/share/doc/${IVY_PACKAGE_NAME} && \
    rm -rf /var/lib/apt/lists/*

ADD --chown=ivy:ivy ./docker-entrypoint.sh ${IVY_HOME}/bin/docker-entrypoint.sh
RUN chmod u+x ${IVY_HOME}/bin/docker-entrypoint.sh 

WORKDIR ${IVY_HOME}
USER 1000
EXPOSE 8080
ENTRYPOINT ["/usr/lib/axonivy-engine/bin/docker-entrypoint.sh"]

The following snippet shows the docker-entrypoint.sh:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/bin/bash
set -e

amountOfLicenceFiles=$(find /etc/axonivy-engine/*.lic -maxdepth 1 -type f|wc -l)
if [ $amountOfLicenceFiles -gt 1 ]; then
   bin/EngineConfigCli wait-for-db-server
   bin/EngineConfigCli create-db
else
   # only demo licence available
   echo "if you don't want to run in demo mode, install a licence file under /etc/axonivy-engine/*.lic"
fi

exec bin/AxonIvyEngine