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 Fonto Document History, there are two applications that need to be run. These applications need to be running alongside Fonto Editor.
-
The Changelog Summarization service.
-
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 . This endpoint must be available to the FontoXML Document History App. |
Yes |
Compare:ApiBaseUrl |
The absolute base URL of the Compare endpoint . 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:
-
Run the DeltaXML XML Compare image by executing the following command:
docker run -p 7001:8080 <docker-delta-image-name>:<docker-delta-image-tag>
. -
Run the Changelog Summarization service image by executing the following command. Fill in the
C
with the CMS API endpoint and theMS_ AP I_ BA SE_ UR L D
with the Compare service endpoint.EL TA_ XM L_ UR L docker run -e "
.Cms: Api Base Url={ CM S_ AP I_ BA SE_ UR L}" -e " Compare: Base Url={ DE LT A_ XM L_ UR L}" -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
Other
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