Table of Contents

Technical Description

Goal

Having a Docker Container with a running MapTool session, which can be used as a MapTool Server for a MapTool gaming session.

Concept

Divide & Conquer is a main concept for reusable and easy to maintain software.

We have to create a Docker image for MapTool. The MapTool package includes the needed java engine and libraries, so we should not separate them.
That image needs an external volume for the campaign specific data, so that the master can place and backup them there without the need to access the GUI of MapTool. This will rescue also this data over the life time of the container where the image is running in.
By default, this is all together in the MapTool folder, so we have to do some configurations in the configure file of MapTool.

To access the GUI of MapTool we prefer an html access. That give us the opportunity to use a proxy server image as an access security (SSL) and dispatcher (not part of this project, see Reverse Proxy in this wiki or NGINX SSL Reverse Proxy für Docker Container). Xpra can do this. There are just a view Xpra images in the DockerHub. They are not usable, because there last update is long, there is little to no documentation for them and/or only a view usages (ok, the last argument ill hit this images also). We do not want to depend on them (maintenance unclear), so we will create a second image for Xpra by our self.

Since this should be only used as a Server for MapTool gaming sessions, the GUI is only needed to start/stop the server in MapTool. So we will start with alpine, as the base image. Alpine is a very small Linux distribution. It supports not everything from scratch, e.g. there is no sound support, but it should be enough for MapTool, which is used just as a Server. Using a full Debian or Ubuntu image to get a better support of all GUI features is still an option, if needed.

The docker composer file will then hold all configuration parts, so that both containers are bind together.

Used Software

Architecture

ToDo: Picture with the software components and there relationships.
ToDo: Used Folders and there Content

Step by Step Build Instruction

In the following step by step build instruction, I presuppose, that the reader is familiar with the used software as far as it is needed for this instructions. Please use the documentation (tutorials, How-To or Videos) for them, if a comment is unclear for you.

Preparation

You need

Creation

ToDo

Xpra Image

ToDo

MapTool Image

ToDo

Composer File

ToDo

Finalize

For private Use

Follow the steps in the user guide and use your own image instead of the image from the DockerHub.

Publication in the DockerHub

ToDo: Steps to public the container in the DockerHub.

Sources

RpTools

Xpra

Docker

Docker, Xpra & GuiApp