Installation als Docker Container
signoSign/Universal kann auch in einem Docker-Container genutzt werden. Da die Anwendung derzeit viele Abhängigkeiten zum zugrundeliegenden Server (z. B. Benutzerverwaltung, TLS-Einstellungen, etc.) hat, stellt signotec derzeit kein “fertiges” Docker-Image zur Verfügung. Ein solches Docker-Image können Sie jedoch in wenigen Schritten selbst erstellen. Die folgenden Abschnitte erklären beispielhaft, wie Sie signoSign/Universal auf einem Docker-Image mit einem Tomcat installieren können.
Benötigte Ressourcen
Um signoSign/Universal in einem Docker-Container betreiben zu können benötigen Sie folgende Ressourcen:
Ein System mit installiertem Docker (Docker Host)
signoSignUniversal.war
tomcat-users.xml mit Benutzern und Rollen für signoSign/Universal
Benutzer konfigurieren
Bevor Sie mit dem Image loslegen können, benötigen Sie eine “tomcat-users.xml” mit Benutzern und Rollen für die Verwendung von signoSign/Universal.
Der Inhalt könnte beispielsweise wie folgt aussehen:
<?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>
Diese Konfiguration enthält einen Benutzer “user” mit dem Passwort “password” sowie einen Administrator “admin” mit dem Passwort “admin”.
Alternativ zur Konfiguration über die “tomcat-users.xml” können Sie auch eine eigene Benutzerdatenbank anbinden oder Single-Sign-On konfigurieren. Die hier verwendete Benutzerkonfiguration dient rein beispielhaft.
Image erstellen
Zum Betrieb in einem Docker-Container benötigen Sie ein Docker-Image.
Vorbereitung
Erstellen Sie zunächst einen neuen Ordner und kopieren Sie die erstellte “tomcat-users.xml” sowie die “signoSignUniversal.war” aus dem Downloadpaket in diesen Ordner.
Dockerfile erstellen
Erstellen Sie ein Dockerfile mit folgendem Inhalt:
FROM tomcat:9.0
COPY tomcat-users.xml /usr/local/tomcat/conf/
COPY signoSignUniversal.war /usr/local/tomcat/webapps/
In diesem Beispiel wird als Ausgangspunkt ein Tomcat 9.0 Image aus dem Docker Hub verwendet sowie die “tomcat-users.xml” und die “signoSignUniversal.war” aus dem Ordner in das Image kopiert.
Image bauen
Wenn Sie die Dateien vorbereitet haben, können Sie das Image erstellen. Hierzu öffnen Sie eine Konsole (cmd oder Powershell) und navigieren in den erstellten Projektordner. Führen Sie dort folgenden Befehl aus, um das Image mit dem Namen “signoSignUniversal” zu bauen.
docker build -t signoSignUniversal .
Image ausführen
Das soeben erstellte Image können Sie nun als Container ausführen.
docker run -d -p 80:8080 signoSignUniversal
Der Befehl startet einen Container mit dem erstellten Image und mappt den Port 80 auf 8080.
Datenbank als Volume nutzen
Insofern Sie die H2-Datenbank längerfristig nutzen möchten, können Sie den Ordner mit der Datenbank in ein Volume auslagern. Hierzu starten Sie den Container z. B. mit folgendem Befehl:
docker run -d -p 80:8080 -v h2db:/usr/local/tomcat/SSU_DB signoSignUniversal
Anwendung aufrufen
Nachdem der Container hochgefahren ist, können Sie die Anwendung über folgende URL aufrufen:
http://<DOMAIN>/signoSignUniversal/pool/
Wenn Sie Docker lokal nutzen, so wäre dies z. B.: