project:mt:docker:tecdesc
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
project:mt:docker:tecdesc [2023/04/05 13:24] – removed - external edit (Unknown date) 127.0.0.1 | project:mt:docker:tecdesc [2023/04/05 13:24] (current) – ↷ Page moved from project:mt:tecdesc to project:mt:docker:tecdesc snarfbur | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== 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 [[project: | ||
+ | |||
+ | 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 ===== | ||
+ | |||
+ | * MapTool | ||
+ | * Xpra | ||
+ | * Docker | ||
+ | * Server | ||
+ | * Composer | ||
+ | * Base Image: alpine | ||
+ | |||
+ | ===== 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, | ||
+ | |||
+ | ==== Preparation ==== | ||
+ | |||
+ | You need | ||
+ | |||
+ | * Docker Server to create, install and run self created containers (we will use one on Debian) | ||
+ | * Simple Editor to edit text files (e.g. vi) | ||
+ | * Internet access to download software | ||
+ | |||
+ | ==== Creation ==== | ||
+ | |||
+ | < | ||
+ | ToDo | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Xpra Image === | ||
+ | |||
+ | < | ||
+ | ToDo | ||
+ | |||
+ | </ | ||
+ | |||
+ | === MapTool Image === | ||
+ | |||
+ | < | ||
+ | ToDo | ||
+ | |||
+ | </ | ||
+ | |||
+ | === Composer File === | ||
+ | |||
+ | < | ||
+ | ToDo | ||
+ | |||
+ | </ | ||
+ | |||
+ | ==== Finalize ==== | ||
+ | |||
+ | === For private Use === | ||
+ | |||
+ | Follow the steps in the [[project: | ||
+ | |||
+ | === Publication in the DockerHub === | ||
+ | < | ||
+ | |||
+ | ToDo: Steps to public the container in the DockerHub. | ||
+ | |||
+ | </ | ||
+ | |||
+ | ===== Sources ===== | ||
+ | |||
+ | ==== RpTools ==== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ==== Xpra ==== | ||
+ | |||
+ | * [[https:// | ||
+ | |||
+ | ==== Docker ==== | ||
+ | |||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | ==== Docker, Xpra & GuiApp ==== | ||
+ | |||
+ | * [[https:// | ||
+ | * Pluggable X11 GUI for Docker images: [[https:// | ||
+ | * [[https:// | ||
+ | * Tiny Remote Desktop VNC/HTML5 [[https:// | ||