Docker installation

Overview

In a Docker deployment of the FontoXML Document History app, there are two applications that need to be run. These applications need to be running alongside the FontoXML Editor.

  1. The Changelog Summarization service.

  2. The DeltaXML XML Compare application.

Prerequisites

Please file a support ticket and provide the following details after which we will push the required Docker images to your Docker registry:

  • The Docker image registry URL.
  • Authentication credentials to your Docker registry (e.g. a username & password).
  • Optionally, the Docker image name and image tag for the Changelog Summarization service.
    Enter these values at the <docker-css-image-name> and <docker-css-image-tag> placeholders when following the instructions below.
  • Optionally, the Docker image name and image tag for the DeltaXML XML Compare application.
    Enter these values at the <docker-delta-image-name> and <docker-delta-image-tag> placeholders when following the instructions below.

Configuration

This section describes the configuration options available to each application. The configuration options are set as environment variables.

The Changelog Summarization service

We are planning to prefix the environment variables upon a stable (non beta) release of Document History.

This application requires the following configurations options.

Key Description Required
Cms:ApiBaseUrl The absolute base URL of the CMS endpoint including a trailing slash. This endpoint must be available to the FontoXML Document History App.
Yes
Compare:ApiBaseUrl The absolute base URL of the Compare endpoint including a trailing slash. This endpoint must be available to the FontoXML Document History App.
Yes
Cache:Redis:Compare

The connection string for the Redis caching cluster for diffs of documents. If not set, standard in-memory caching is used.

For all available options for the connection string, see: https://stackexchange.github.io/StackExchange.Redis/Configuration#configuration-options

No
Cache:Redis:Cms

The connection string for the Redis caching cluster for revisions of documents. If not set, standard in-memory caching is used.

For all available options for the connection string, see: https://stackexchange.github.io/StackExchange.Redis/Configuration#configuration-options

No

The DeltaXML XML Compare service

This application does not expose any configuration options at this moment.

Running containers manually

The following steps start the container manually:

  1. Run the DeltaXML XML Compare image by executing the following command:
    docker run -p 7001:8080 <docker-delta-image-name>:<docker-delta-image-tag>

  2. Run the Changelog Summarization service image by executing the following command. Fill in the CMS_API_BASE_URL with the CMS API endpoint and the DELTA_XML_URL with the Compare service endpoint.
    docker run -e "Cms:ApiBaseUrl={CMS_API_BASE_URL}" -e "Compare:BaseUrl={DELTA_XML_URL}" -p 7000:8080 <docker-css-image-name>:<docker-css-image-tag>

Docker Compose

We recommend to use Docker Compose to run the application in a single command. The following snippet is an example Docker Compose script which sets up the services:

docker-compose.yml
version: '3.0'
services:
  fontoxml-document-history:
    image: "<docker-css-image-name>:<docker-css-image-tag>"
    depends_on:
      - fontoxml-compare
    ports:
      - "${HOSTPORT}:8080"
    environment:
      - Cms:ApiBaseUrl=${CMSAPIBASEURL}
	  - Compare:ApiBaseUrl=${COMPAREAPIBASEURL}
  fontoxml-compare:
    image: "<docker-delta-image-name>:<docker-delta-image-tag>"

Save this file as docker-compose.yml.

The following environment variables must be set on the machine where you run Docker Compose:

Name

Description

CMSAPIBASEURL

The absolute base URL of the CMS endpoint including a trailing slash. This endpoint must be available to the FontoXML Document History App.

COMPAREAPIBASEURL The absolute base URL of the Compare endpoint including a trailing slash. This endpoint must be available to the FontoXML Document History App.

HOSTPORT

The port on which the Document History App is exposed on the host.

You can now use the following command to run all the services at once:
docker-compose up

Was this page helpful?