Aktualisieren einer Docker-basierte OTOBO-Installation

Warnung

Don’t update without a complete backup of your system. You can use the Backup und Wiederherstellung mit Docker script in your existing Docker installation for that.

Für eine Docker-basierte OTOBO-Umgebung wird OTOBO selbst sowie eine Umgebung benötigt, in der die Software ausgeführt werden kann. Das OTOBO Docker Image stellt die Umgebung sowie eine Kopie der OTOBO-Software bereit. Die Software selbst wird im Volume otobo_opt_otobo installiert. Das Volume hat deshalb einen Namen, weil alle Laufzeitdaten, z. B. Konfigurationsdateien und installierte Pakete, im selben Verzeichnisbaum gespeichert werden.

Beim Update auf eine neue OTOBO-Version müssen verschiedene Dinge geschehen.

  • Die Docker Compose Dateien müssen aktualisiert werden.
  • Die Docker Compose Konfig-Datei .env muss überprüft werden.
  • Das neue Docker-Image muss abgerufen werden.
  • Das Volume otobo_opt_otobo muss aktualisiert werden.
  • Einige Wartungsaufgaben sind auszuführen.

Bemerkung

In the sample commands below, the version 11.x.y, corresponding to the tag 11_x_y, is used as the example version. Please substitute it with the real version, e.g. 11.0.2.

Docker Compose-Dateien aktualisieren

Die OTOBO Docker Compose-Dateien wechseln von Release zu Release. Achten Sie deshalb darauf, jeweils das richtige Setup zu verwenden.

Bemerkung

Alle verfügbaren Releases finden Sie unter https://hub.docker.com/repository/docker/rotheross/otobo/tags.

# Change to the otobo docker directory
docker_admin> cd /opt/otobo-docker

# Get the latest tags
docker-admin> git fetch --tags

# Update OTOBO docker-compose repository to version 11.x.y.
docker-admin> git checkout rel-11_x_y

Docker Compose .env-Datei überprüfen

Die .env-Datei kontrolliert den OTOBO Docker Container. In dieser Datei wird über die Variablen OTOBO_IMAGE_OTOBO, OTOBO_IMAGE_OTOBO_ELASTICSEARCH und OTOBO_IMAGE_OTOBO_NGINX festgelegt, welche Images verwendet werden. Ist kein spezifischer Wert für die Variablen angegeben, wird jeweils das neueste Image verwendet. Möchten Sie eine spezifische Version verwenden, fügen Sie diese hier ein.

Docker Images abrufen

Die gewünschten Images können mit Docker Compose von https://hub.docker.com/repository/docker/rotheross/ abgerufen werden.

# Change to the otobo docker directory
docker_admin> cd /opt/otobo-docker

# fetch the new images, either the default tag 'latest-11_0' or the specific version tag declared in .env
docker_admin> docker-compose pull

OTOBO aktualisieren

Warnung

Bitte beachten Sie, dass kleinere oder größere Upgrades immer nacheinander durchgeführt werden müssen. Wenn Sie von Version 10.0.* auf die neueste Version 11.0.* upgraden möchten, aktualisieren Sie bitte zuerst auf 10.1 und dann auf 11.0.

In diesem Schritt wird das Volume otobo_opt_otobo aktualisiert und folgende OTOBO Kommandozeilenbefehle ausgeführt:

  • Admin::Package::ReinstallAll
  • Admin::Package::UpgradeAll
  • Maint::Config::Rebuild
  • Maint::Cache::Delete

Bei kleineren und größeren Versions-Upgrades müssen zuvor auch Aktualisierungsaufgaben für das Kernsystem durchgeführt werden

# stop and remove the containers, but keep the named volumes
docker_admin> docker-compose down

# copy the OTOBO software, while containers are still stopped
docker_admin> docker-compose run --no-deps --rm web copy_otobo_next

# start containers again, using the new version and the updated /opt/otobo
docker_admin> docker-compose up --detach

# a quick sanity check
docker_admin> docker-compose ps

# ** Only for minor or major release upgrades! **
# run upgrade tasks for the OTOBO core (for example when upgrading from 10.1 to 11.0)
docker_admin> docker-compose exec web perl scripts/DBUpdate-to-11.0.pl

# complete the update, with running database
docker_admin> docker-compose exec web /opt/otobo_install/entrypoint.sh do_update_tasks

# inspect the update log
docker_admin> docker-compose exec web cat /opt/otobo/var/log/update.log

Bemerkung

Für einfache Patchlevel-Updates (z.B. von 11.0.2 auf 11.0.3) kann die Ausführung der oben genannten Befehle mit Hilfe des Skripts scripts/update.sh automatisiert werden. Dieses Skript führt die Befehle beginnend mit dem Befehl docker-compose pull aus. Beachten Sie, dass der Aufruf der Datenbank-Upgrade-Skripte nicht enthalten ist und daher nicht für Versions-Upgrades verwendet werden kann.

docker_admin> ./scripts/update.sh --help
docker_admin> ./scripts/update.sh

Bemerkung

Beim Upgrade von 10.1.x auf 11.0.x mit installiertem ITSM-Plugin muss zusätzlich der folgende Befehl ausgeführt werden:

docker exec -it otobo_web_1 perl bin/otobo.Console.pl Admin::ITSM::Configitem::UpgradeTo11