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

Zur Installation kann der offiziellen Anleitung für Podman unter Windows gefolgt oder die native Linux App unter einer Ubuntu/Debian WSL installiert werden.

Am Einfachsten ist aber vermutlich die folgend beschriebene Variante:

  1. Die Podman CLI (Command Line Interface) und auf Wunsch zusätzlich die Podman Desktop GUI (Graphical User Interface) von podman.io herunterladen und installieren.
  2. Windows Terminal (Installierbar aus dem Microsoft Store), Powershell oder CMD öffnen.
  3. Zuerst wird nun eine Podman Instanz initialisiert.
    podman machine init
  4. 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

Je nach verwendeter Linux-Distribution und Container-System sind unterschiedliche Schritte zur Installation erforderlich. Bitte beachten Sie die Installationsanweisungen auf den entsprechenden Herstellerseiten:

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 fix root1234). 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 Port 8080, an dem die Anwendung intern im Docker-Image startet, an den Port 8080 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 Volume toplogic 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) von tl-process wird aus der TopLogic Docker-Registry docker.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)

Die Datenbank und die Bewegungsdaten sind in einem Docker-Volume abgelegt (vgl. Parameter -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