Workflow über Docker

Workflow über Docker

Liebe Benutzergemeinde

Bin grade dabei, den workflow über Docker auszuprobieren.

Docker ist ja sehr verlockend, denn das Thema ist ja komplex genug.

Bin nach der Anleitung vorgegangen, ohne irgendwelche Anpassungen im

docker-compose.yml

goobi-workflow


# checkout the source code of Goobi workflow from Github

git clone https://github.com/intranda/goobi-workflow.git

# go into the checked out goobi directory

cd goobi-workflow

# startup the database to have it running for Goobi

docker-compose up -d goobi-db

# startup the Goobi container

docker-compose up -d

Danach meldet sich der Tomcat mit einem 404.

Das ist schon mal besser als nichts :-), aber halt bissl wenig.


http://localhost:8080/goobi

HTTP Status 404 – nicht gefunden

Type Status Report

Beschreibung The origin server did not find a current representation

for the target resource or is not willing to disclose that one exists.

Apache Tomcat/9.0.105

Ich hätte stattdessen einen Anmeldebildschirm erwartet.

Gibt es da noch bestimmte Kniffe, die man kennen muß? Hab ich was übersehen?

Lieben Dank!

1 Like

Ich habe dasselbe Problem…als Neuling in der Goobi Community und Betreuer für ein kleines Museum in Österreich möchte ich gerne mit den Entwicklungen von Goobi mithalten und hätte mich daher für die Docker Version entschieden…
Ich befolge die Anleitung unter dem angegebenen Link…auf meinem System verwende ich zusätzlich Portainer…dort sehe ich, dass zwei Docker Images in einem Stack gebaut wurden und laufen…allerdings verweigert der TomCat den Aufruf im Browser (während Portainer funktioniert)…laut LOG gibt es ein Berechtigungsproblem?

Ich wäre über Eure Hilfe oder einen Hinweis wirklich dankbar…

Beste Grüße

1 Like

habe mich mit dem Problem heute beschäftigt, und einen lokalen Container heute lauffähig bekommen. (docker desktop v.4.47.0 unter win11)

Folgende Änderungen waren notwendig:

In der Datei install/docker/goobi.xml.template:
muss beim Datenbankzugriff der Parameter useSSH=false gesetzt werden.
url="jdbc:mysql:aws://${DB_SERVER}:${DB_PORT}/${DB_NAME}?characterEncoding=UTF-8&useSSL=false&autoReconnect=true&autoReconnectForPools=true" />

Mit dieser Veränderung ist zumindest der erste Fehler verschwunden, aber der nächste aufgetaucht :slight_smile:

In der Datei DOCKERFILE musste ich folgende Änderungen durchführen:

DB-Name ändern auf:
ENV DB_SERVER goobi-db

in Abschnitt general configurations ergänzen:

COPY install/docker/run.sh /run.sh 
RUN chmod +x /run.sh

In Datei docker-compose.yml musste noch der build-Pfad adaptiert werden, damit nicht aufs Standard-Image zurückfällt:

services:
  goobi:
    #image: intranda/goobi-workflow:default-plugins
    build:
      context: .
      dockerfile: Absoluter/Pfad/zu/deinem/lokalen/goobi-workflow-dateien

Mit diesen Änderungen in den install-Files, im Dockerfile und im compose.yml war es mit einem

docker compose build möglich Workflow auf localhost:8080 zu starten. (Es musste danach noch die Berechtigung in /opt/digiverso/goobi/scripts/ für user tomcat geändert werden und bei shell-Skripten wie das create_*.sh auf den korrekten shebang für bash geachtet werden. Prüfen vom korrekten bash-pfad im container mit docker exec -it goobi-workflow-goobi-1 which bash)

LG
Christian

1 Like