Docker & Exist
-
Für ediarum.BASE, ediarum.WEB sowie für den TEI Publisher ist die Installation von eXist-db erforderlich. Da wir für ediarum eine ältere Version (5.2.0) nutzen müssen, für den TEI Publisher jedoch die aktuellste Version (6.2.0 - Stand Mai 2023) verwenden wollen, installieren wir zuerst Docker Desktop. Durch die Containerisierung - also das Verpacken von Softwarecode in Pakete, in denen sämtliche Komponenten wie Libraries, Frameworks sowie andere Abhängigkeiten enthalten sind - ist es möglich, dass diese beiden Versionen isoliert voneinander sind und somit problemlos “nebeneinander” laufen können.
-
Für unseren Rechner mit Windows 10 als Betriebssystem laden wir zuerst Docker Desktop (Version 4.18.0) herunter und installieren es. Es kann eventuell erforderlich sein, sich nach der Installation einmal abzumelden oder einen Neustart durchzuführen. Danach öffnen wir Docker Desktop und warten bis sich der Docker Engine gestartet hat.
Docker Engine starten
ediarum
- Wenn wir Docker Desktop installiert haben, öffnen wir im nächsten Schritt unser Terminal und installieren uns unsere lokale eXist-db mit dem Befehl:
docker pull existdb/existdb:5.2.0
→ Auch wenn ediarum bis zur Version 5.3.1 kompatibel ist, haben wir uns für 5.2.0 entschieden, um mit einer stabilen Version zu arbeiten.
- Nach dem Pull-Vorgang müssen wir nun die eXist-db noch unter Angabe des Ports (8080:8080 für unseren Localhost) ausführen, indem wir folgende Eingabe in unserem Terminal machen:
docker run -it -d -p 8080:8080 -p 8443:8443 --name exist existdb/existdb:5.2.0
- Wenn wir nun Docker Desktop erneut öffnen, finden wir dort einen exist-Container.
eXist-db in Docker Desktop - Mit einem Klick auf den Localhost-Port (8080:8080) öffnet sich eXist im Browser.
eXist im Browser - Im Dashboard können wir uns nun als “admin” ohne Passwort-Eingabe anmelden.
Dashboard von eXist im Browser
TEI Publisher
- Für den TEI Publisher legen wir einen (weiteren) eigenen Container in Docker Desktop an. Dafür geben wir folgenden Befehl in das Terminal unseres Rechners ein:
docker pull existdb/teipublisher:8.0.0
- Sobald der Download des Docker Images für den TEI Publisher abgeschlossen ist, starten wir den Container vom Terminal aus:
docker run -p 8081:8080 -p 8444:8443 --name teipublisher -v exist-data:/exist/data existdb/teipublisher:8.0.0
→ Mit der Spezifikation
-v exist-data:/exist/data
stellen wir sicher, dass Docker ein Volume erstellt, um die Datenbank zu speichern, sodass wir beim Löschen oder Aktualisieren des TEI-Publisher-Containers nicht auch unsere Daten verlieren. - Wenn wir Docker Desktop öffnen, sollten wir jetzt einerseits unter Containers (zusätzlich zum bereits angelegten exist-Container) einen Container für den TEI Publisher vorfinden.
TEI-Publisher-Container in Docker Desktop Außerdem sollte unter Volumes auch das Volume “exist-data” vorhanden sein.
TEI-Publisher-Container in Docker Desktop Nach einem Klick auf exist-data finden wir im Reiter Data auch eine Ordnerstrutkur vor, in der die Daten der eXist-Datenbank gespeichert werden.
In Docker gespeicherte Daten der eXist-Datenbank