signoSign/Universal can also be used in a Docker container. Since the application currently has many dependencies on the underlying server (e.g. user management, TLS settings, etc.), signotec does not currently provide a ’ready-made’ Docker image. However, you can create a Docker image yourself in just a few steps. The following sections explain, by way of example, how you can install signoSign/Universal on a Docker image with a Tomcat.
Resources required
To operate signoSign/Universal in a Docker container, you need the following resources:
-
A system with Docker installed (Docker host)
-
signoSignUniversal.war
-
tomcat-users.xml with users and roles for signoSign/Universal
Configure user
Before you can get started with the image, you need a ’tomcat-users.xml’ with users and roles for the use of signoSign/Universal.
The content could look like this, for example:
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="ssu-user"/>
<role rolename="ssu-admin"/>
<user username="user" password="password" roles="ssu-user"/>
<user username="admin" password="admin" roles="ssu-admin"/>
</tomcat-users>
This configuration contains a user ’user’ with the password ’password’ and an administrator ’admin’ with the password ’admin.’
As an alternative to configuration via ’tomcat-users.xml,’ you can also connect your own user database or configure Single Sign On. The user configuration used here is purely an example.
Create image
To operate in a Docker container, you need a Docker image.
Preparation
First create a new folder and copy the created ’tomcat-users.xml’ and the ’signoSignUniversal.war’ from the download package into this folder.
Create Dockerfile
Create a Dockerfile with the following content:
FROM tomcat:11-jdk21-temurin
COPY tomcat-users.xml /usr/local/tomcat/conf/
COPY signoSignUniversal.war /usr/local/tomcat/webapps/
In this example, a Tomcat 9.0 image from the Docker Hub is used as a starting point and the ’tomcat-users.xml’ and the ’signoSignUniversal.war’ are copied from the folder into the image.
Build image
Once you have prepared the files, you can create the image. To do this, open a console (cmd or Powershell) and navigate to the created project folder. Execute the following command there to build the image with the name ’signoSignUniversal.’
docker build -t signoSignUniversal .
Execute image
You can now run the image you have created as a container.
docker run -d -p 80:8080 signoSignUniversal
The command starts a container with the created image and maps port 80 to 8080.
Using the database as a volume
If you want to use the H2 database in the long term, you can move the folder with the database to a volume. To do this, start the container with the following command, for example:
docker run -d -p 80:8080 -v h2db:/usr/local/tomcat/SSU_DB signoSignUniversal
Call application
After the container has started up, you can call the application via the following URL:
http://<DOMAIN>/signoSignUniversal/pool/
If you use Docker locally, this would be, for example: