Als Docker-Image starten
Möchte man sich auf die In-App-Konfiguration beschränken (keine Plug-in-Entwicklung für die Engine), kann die TopLogic-Engine in einer Standardkonfiguration über ein vorgefertigtes Docker-Image gestartet werden. So kann das volle Potenzial der In-App-Entwicklung ausgeschöpft werden. Insbesondere für Test- und Lernzwecke ist dieser Ansatz eine gute Alternative zur Erstellung eines eigenen TopLogic-Moduls oder einer Serverinstallation über Debian bzw. Cloud-Init.
Voraussetzung hierfür ist die Installation einer Container-Umgebung Podman oder Docker, die für alle gängigen Betriebsysteme verfügbar sind.
Docker oder Podman installieren
Windows
Vorraussetzungen
Windows 10, Version 2004 und höher (Build 19041 und höher), oder Windows 11
Docker für Windows ist problematisch in der Bedienung über die Kommandozeile und die native Linuxapplikation von Docker lässt sich unter WSL nicht verwenden.
Wir empfehlen daher unter Windows Podman zu verwenden.
Installation Podman
Am Einfachsten ist aber vermutlich die folgend beschriebene Variante:
- Die Podman CLI (Command Line Interface) und auf Wunsch zusätzlich die Podman Desktop GUI (Graphical User Interface) von podman.io herunterladen und installieren.
- Windows Terminal (Installierbar aus dem Microsoft Store), Powershell oder CMD öffnen.
- Zuerst wird nun eine Podman Instanz initialisiert.
podman machine init
- Nach Abschluss des Init-Prozesses muss diese Instanz gestartet werden.
podman machine start
Nun kann mit der Einrichtung des Containers begonnen werden.
Linux
Voraussetzungen
Die Voraussetzungen für die Installation von Docker unter Linux entnehmen Sie bitte der unter diesem Link aufgeführten Tabelle: https://docs.docker.com/engine/install/#server
Installation
Docker
Bei der Verwendung von Docker unter Linux muss entweder bei jedem Aufruf des docker
-Befehls das Kommando sudo
vorangestellt werden, oder der aktuelle Nutzer muss der Gruppe docker
hinzugefügt werden. Um den Nutzer der Grupper docker
hinzuzufügen, müssen die folgenden Befehle ausgeführt und anschließend der PC neu gestartet werden:
sudo groupadd docker
sudo usermod -aG docker $USER
TopLogic Container einrichten
Anmeldung an der TopLogic-Registry
Um Zugriff auf die TopLogic-Images zu erhalten, müssen Sie sich zunächst bei der TopLogic-Registry anmelden. Je nach Container-Umgebung den entsprechenden Befehl verwenden:
Podman
podman login docker.top-logic.com -u guest -p guest
Docker
docker login docker.top-logic.com -u guest -p guest
Image herunterladen und updaten
Herunterladen und Updaten eines Images gestaltet sich identisch mit folgendem Befehl:
Podman
podman pull docker.top-logic.com/tl-process:latest
Docker
docker pull docker.top-logic.com/tl-process:latest
TopLogic-Container starten
Wenn die Vorbereitungen so weit abgeschlossen sind, kann die Engine gestartet werden. Je nach Container-Umgebung den entsprechenden Befehl verwenden:
Podman
podman run -tdi --name toplogic -etl_initial_password=my-password -p 8080:8080 -v toplogic:/tl docker.top-logic.com/tl-process:latest
Docker
docker run -tdi --name toplogic -etl_initial_password=my-password -p 8080:8080 -v toplogic:/tl docker.top-logic.com/tl-process:latest
Die Parameter haben die folgende Bedeutung:
-etl_initial_password=my-password
Legt das Initial-Passwort fest (bis Version 7.6.0 war dieses fixroot1234
). Bei einem Update (ohne Zurücksetzen des Datenbestandes) ändert sich das Passwort nicht, auch wenn dieser Parameter angegeben wird.-p 8080:8080
definiert den Port, über den das Webinterface der Engine erreicht werden kann. Die Option legt fest, dass der Port8080
, an dem die Anwendung intern im Docker-Image startet, an den Port8080
des Host-Computers weitergeleitet wird. Wenn Sie zum Beispiel über den offiziellen HTTP-Port 80 auf die Engine zugreifen möchten, müssen Sie stattdessen die Option-p 80:8080
angeben.-v toplogic:/tl
legt fest, dass das Docker-Volume "toplogic
" in den Pfad/tl
im Docker-Container "eingehängt" wird. Das heißt, dass alle Dateien, die die Engine im Docker-Container unter/tl
erstellt, im Volumetoplogic
abgelegt werden. Wenn dieser Parameter weggelassen wird, speichert die Engine die Transaktionsdaten direkt im Docker-Container. Nach einer Aktualisierung des Containers würden dann alle Daten gelöscht werden.- Die neueste Version (
latest
) vontl-process
wird aus der TopLogic Docker-Registrydocker.top-logic.com
gestartet. Dabei steht "tl-process
" für die Standardkonfiguration der Engine mit Prozessunterstützung.
Log-Dateien auslesen
Um zu überprüfen, ob der Container korrekt gestartet wurde, kann man die Log-Dateien des Startvorgangs mit folgendem Befehl ansehen (je nach Container-Umgebung den entsprechenden Befehl verwenden):
Podman
podman logs -f toplogic
Docker
docker logs -f toplogic
Wenn alles funktioniert hat, enthält die Ausgabe unter anderem folgenden Inhalt:
Module system started successfully
Application: tl-process 7.6.0 (2022-11-02T14:31:43Z)
Knowledgebase: Default
User management: dbSecurity
Authentication: dbSecurity
OS: Linux V5.15.0-79-generic (amd64)
User: root
Java:
Version: 11.0.16+8 (OpenJDK 64-Bit Server VM)
Runtime: OpenJDK Runtime Environment
Vendor: Oracle Corporation
Classes: V55.0
Info: mixed mode, sharing
Home: /usr/local/openjdk-11
Web Path: /usr/local/tomcat/webapps/ROOT
***** up and running (12:54:28 07.09.2023) *****
Anmeldung in der TopLogic-App
Sobald der Startvorgang abgeschlossen ist, können Sie die URL http://localhost:8080/ in Ihrem Browser aufrufen und sehen den TopLogic-Anmeldebildschirm. Die erste Anmeldung erfolgt mit dem Administratorkonto "root
" mit dem Anfangspasswort (siehe oben). Dieses Passwort sollte unmittelbar nach dem ersten Login in den persönlichen Einstellungen geändert werden.
An dieser Stelle können Sie mit dem TopLogic-Tutorial beginnen.
Herunterfahren der Anwendung
Je nach Container-Umgebung den entsprechenden Befehl verwenden:
Podman
podman stop toplogic
Docker
docker stop toplogic
Löschen des Containers
Je nach Container-Umgebung den entsprechenden Befehl verwenden:
Podman
podman rm toplogic
Docker
docker rm toplogic
Löschen des Datenbestandes (Volume)
-v toplogic:/tl
oben). Das Löschen des Containers löscht dieses Volumne nicht automatisch mit. Wenn der Datenstand zurückgesetzt werden soll, muss diese Volume explizit gelöscht werden:
Podman
podman rm volume toplogic
Docker
docker rm volume toplogic