Skip to main content
Skip table of contents

Deploy CAE using Docker

Precondition: a Linux machine having docker installed

Docker

Pull Docker image from our public docker registry

CODE
docker login --username MyCredentials --password MyPassword https://docker-registry-public.davidsystems.com
docker pull docker-registry.davidsystems-public.com/cae:latest

As an alternative you could also import a docker image from a file we provide.

CODE
docker import cae.tar.gzip

Remove previously running container (optionally)

CODE
docker stop cae
docker rm cae

Run container with CAE

CODE
docker run -d --name cae -p 8888:80 docker-registry-public.davidsystems.com/cae:latest

The CAE container is exposed on port 8888 for HTTP.

To handle HTTPS we recommend to run it behind a reverse-proxy that is doing SSL-offloading.

Adapt Settings Manually

Currently there are two options to adapt the settings files in the container

  • Edit the settings directly in the container

    CODE
    docker exec -it cae /bin/sh
    apk add nano
    nano /user/share/nginx/html/assets/settings.json
  • Overwrite the settings files using the docker cp command

    CODE
    docker cp ./mySettings.json cae:/usr/share/nginx/html/assets/settings.json

    See Configure CAE with new settings.json

Automatically Copying Settings Files From Host At Container Startup

(1) Create a docker volume

CODE
docker volume create caeVol

This creates a docker volume named caeVol which is mapped to folder /var/lib/docker/volumes/caeVol/_data.

(2) Copy your setting files to the volume on the host

  • settings.json

(3) Mount the volume when starting a container instance

CODE
docker run -d --name cae -p:8888:80 -v caeVol:/data docker-registry-public.davidsystems.com/cae:latest

This uses the volume and maps it to /data inside the container.

The container checks for settings files on startup and uses them to overwrite the ones delivered with the docker image.


Using Environment Variables for Configuration of CAE Docker Container

As an alternative to modifying and injecting the settings.json file you can also use environment variables.

The name of the environment variable must start with “CAE__” and match the names inside the settings.json file.

Double underscores between names are used to map the hierarchies inside settings.json.

Square brackets are used to reference array elements.

Name postfixes are used to specify variable types different from string, e.g. “:I" for integer or “:B” for boolean.

Examples:

CODE
CAE__variables__basePath=https://dpe.davidsystems-test.com:7878/DpeWebApplication
CAE__caeSettings__contentManagerUrl=https://www.spiegel.de
CAE__caeSettings__importViaPostMessageApi__origins[0]=http://bla
CAE__caeSettings__importViaPostMessageApi__origins[1]=http://bli
CAE__test__bla=bli
CAE__test__blo:I=123



JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.