Edit online

Deploying Web Author in a Docker Container

It is a common practice to use Docker containers to deploy Oxygen XML Web Author. This topic contains some advice on how to create a custom Docker image.

Here is an sample of a Docker file that you can use as an example:
FROM tomcat:9.0.65-jre11-temurin-focal

# If behind a proxy, make sure you configure Docker
# https://docs.docker.com/network/proxy/

# Make sure to update and also install wget
RUN apt-get update && apt-get -y install wget

# Now download the web author war
RUN wget https://www.oxygenxml.com/InstData/WebAuthor/war/oxygenxml-web-author.war

RUN mv oxygenxml-web-author.war /usr/local/tomcat/webapps/

# Expose the Tomcat port
EXPOSE 8080 
# Expose the logs
VOLUME /usr/local/tomcat/logs/
VOLUME /usr/local/tomcat/work/Catalina/localhost/oxygenxml-web-author
To build the Docker image, use:
docker build -t web-author .
Before starting a container from this image, make sure you create volumes for the data directory and logs:
docker volume create web-author-logs
docker volume create web-author-data
Then, start it with this command:
docker run -p 8080:8080 --mount source=web-author-data,target=/usr/local/tomcat/work/Catalina/localhost/oxygenxml-web-author --mount source=web-author-logs,target=/usr/local/tomcat/logs  web-author

Oxygen XML Web Author will be available at the following address http://<docker-host>:8080/oxygenxml-web-author/.

HTTP Configuration

The HTTP/HTTPS ports of the container must be exposed.

One of the benefits of using Docker containers is that you can deploy multiple instances of Oxygen XML Web Author to provide high availability. In this case, you may want to consult our documentation about running Oxygen XML Web Author behind a load balancer.

Configuration

The server configuration that can be changed using the administration page is stored in the Data Directory. If you want to persist some of this configuration when containers are removed, you can map parts of this directory it to a volume.

Alternatively, you can add the initial configuration of the server as part of the file system of the Docker image.

Licensing

The license server has some protections built in to prevent users from duplicating a deployment with the same license. As a result, deploying the license server in a Docker container is not supported.

Logging

Oxygen XML Web Author is configured to log to both standard output and to a file so that you are able to use the standard Docker commands to obtain the logs.