Docker installation

Overview

Starting with Fonto 7.12, the separate DeltaXML Compare image is no longer required. This release introduces a new diffing engine. Read all about it in the release notes for Fonto Document History 7.12.

The documentation below is split into two parts; one for the post-7.12 setup, and one for releases before that.

7.12 and later

Starting with Fonto 7.12, the Document History backend consists of only one backend Docker image. The configuration API is still private, we are working on stabilizing that. For Fonto 7.12 that means that customers will still have to create a support ticket to get their configured Document History instance. Upgrades are also only done by Fonto. There is currently no FDT support.

Information about running Docker images is available in the Docker documentation. Additionally, the ASP.NET Core documentation regarding hosting Docker containers might come in useful.

Pre-7.12

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?