de Installation Docker Compose

Unser Installationsbundle für den Kommentierungsserver besteht aus mehreren Dateien:

.env

In dieser Datei werden Umgebungsvariablen festgelegt, die definieren, unter welchem SSL-Port die Anwendung laufen soll und wie die Dateien heißen, in denen das (von Ihnen für Ihre Domain bereitgestellte) SSL Zertifikat und der SSL Key liegen.

*_password.txt

In zwei Dateien, die mit “_password.txt” enden, wird festgelegt, welche Passwörter (initial) für die Datenbank und den globalen Administrator-User verwendet werden sollen.

config.properties

Hier werden Einstellungen für unseren Kommentierungsserver festgelegt. Aktuell findet dort die Konfiguration des SMTP Mail-Servers statt, der dazu verwendet wird, Benachrichtigungsemails zu versenden, wenn ein Benutzer in einem Kommentar erwähnt wurde.

init-commenting-db.sql

Die Initialisierung des Postgres-Servers mit einer neuen Datenbank und zwei Schemata ist hier definiert. Hier ist vom Benutzer nichts anzupassen.

nginx.conf

In der Konfigurationsdatei befindet sich die Definition, wie der NGINX Reverse Proxy, die Anfragen gegen das Kommentierungsbackend an die einzelnen Docker Container weiterleiten soll. Hier ist in der Regel vom Benutzer nichts anzupassen.

docker-compose.yaml

Die Definition, welche Container für das Kommentierungsbackend erstellt werden müssen, welche Dateien vom Host-System verwendet werden dürfen und wie das interne Netzwerk aufgebaut ist, muss in der Regel nicht angepasst werden.

commenting.war

In dieser Datei liegt die Logik für das Kommentierungsbackend. Sie wird automatisch in dem Tomcat-Container in Docker installiert.

Installationsvorgang

  1. Installieren Sie Docker wie hier beschrieben: Install

  2. Entpacken Sie das Installationsbundle und kopieren Sie die Dateien aus dem Installationsbundle auf das Docker-Hostsystem an einen beliebigen Ort.

  3. Sie fügen Ihr SSL Zertifikat mit dem Dateinamen “ssl_certificate.crt” und den dazugehörigen privaten Schlüssel mit dem Dateinamen “ssl_certificate.pem” an dem selben Ort, wie in Schritt 1, ein. Bei unterschiedlichen Pfaden oder Dateinamen, muss die Datei “.env” angepasst werden.

  4. Wenn sie einen anderen Port als “3333” für den Server verwenden möchten, so passen Sie die in der Datei “.env” an.

  5. In der “commenting_db_password.txt” Datei definieren Sie das Passwort für die Datenbank der Userverwaltung und der Kommentarablage. Dieses wird intern an die entsprechenden Container übermittelt.

  6. In der Datei “keycloak_admin_password.txt” definieren Sie das Passwort für den Administrator des Kommentarbackends. Dieser besitzt die Berechtigung Kommentare zu lesen, zu schreiben, zu bearbeiten, zu löschen und neue Benutzer zu definieren. Sie benötigen dessen Passwort also, um sich initial in unsere Komponenten und die Verwaltungsoberfläche einzuloggen. Der Benutzername lautet hier “admin”. Neu angelegten Benutzern können dann die Rollen “viewer”, “editor” oder “admin” zugewiesen werden.

  7. Ist die Konfiguration vollständig, so können Sie in der Kommandozeile in dem Ordner des Installationsbundles den Befehl “docker-compose up” ausführen. Damit werden alle benötigten Komponenten gestartet.

  8. Nach dem ersten Start muss aus der Keycloak-UI unter <Server URL>/auth für den “frontend”-Client das Client-Secret ausgelesen werden. Dieses soll dann in die “keycloak_client_secret.txt” eingefügt werden. Ein anschließender Neustart per “docker compose stop” und “docker compose up” ist notwendig.

Wenn Sie den Service erfolgreich installiert haben, können Sie drei Dinge tun, um dessen Funktionsfähigkeit zu überprüfen:

  • An der Root-URL auf den Service, sollten ein JSON mit Informationen zu dem Service und der installierten Version erscheinen.

  • <Server URL>/auth sollte die Bedienoberfläche von Keycloak öffnen, in der Sie sich mit den Daten des initialen Admin-Benutzers einloggen können, wenn Sie auf “Administration Console” klicken. Hier können Sie auch andere Ident-Provider an unseren Service anbinden. Bswp. sind hier Active Directory per SAML und externe OAuth Provider zu nennen. Für weitere Informationen hierzu konsultieren Sie bitte die Dokumentation von Keycloak.

  • Als letztes überprüfen Sie bitte, ob unter <Server URL>/commenting/administration/ unsere Bedienoberfläche für das Backend erscheint. Hier können Sie, mit einem gültigen Benutzer (bspw. wieder der Admin), bestehende Kommentare einsehen, diese bearbeiten und auch neue erstellen. Gleichzeitig haben Sie die Möglichkeit neue Benutzer zu erstellen und diese auf Kontextkombinationen zu berechtigen.