Zum Inhalt

Modul: Wartung der Komponenten einer LLUA#

Inhalt

Die Wartung einer LLUA gehört zu den Aufgaben, die nicht zu vernachlässigen sind. Dazu zählt z. B. die Aktualisierung des Betriebssystems, der Komponenten einer LLUA sowie möglicherweise installierte Plugins. In diesem Modul wird beschrieben, was bei solchen Tätigkeiten prinzipiell beachtet werden sollte und wie diese Tätigkeiten für die Komponenten der exemplarischen LLUA konkret durchgeführt werden können.

Prinzipielle Wartungstätigkeiten#

Folgende prinzipielle Wartungstätigkeiten sind bei einer LLUA zu erfüllen:

Virtuelle Maschinen im Rechenzentrum

Für die virtuellen Maschinen, die sich in dem Rechenzentrum der Bildungseinrichtung bedient worden sind, sollte sichergestellt sein, dass die Ressourcen regelmäßig an die Auslastung angepasst werden. Hierfür ist eine Überwachung der Ressourcennutzung erforderlich.

Betriebssystem

Für die Wartung des Betriebssystems, welches der LLUA zugrunde liegt, müssen folgende Punkte beachtet werden:

  • Die Pakete des Betriebssystems müssen Aktuell gehalten werden.
  • Bei Ablauf der SSL-Zertifikate, müssen diese durch das Rechenzentrum erneuert werden.
  • Es sollte ein Prozess eingerichtet werden, der regelmäßig überschüssige Dateien entfernt.
  • Spätestens bei Ablauf des Supports des Betriebssystems, sollte dies mit den Administratoren auf ein neueres aktualisiert werden.

Dienste / Programme

Die Dienste der LLUA müssen regelmäßig aktualisiert werden. Dabei müssen auch die Lizenzen der Dienste erneuert werden. Außerdem müssen auch die Apps aktuell gehalten werden und deren Lizenzen ebenfalls verlängert werden.

Sicherheitspatches Meldungen

Um z. B. die Veröffentlichung kritischer Sicherheitspatches zu erfahren, bieten einige Hersteller Newsletter oder Mailinglisten an, über die diese Informationen verbreitet werden.

Konkrete Wartungstätigkeiten einer LLUA#

Im Folgenden werden konkrete Wartungstätigkeiten der exemplarischen LLUA illustriert.

Virtuelle Maschine im Rechenzentrum#

Für die Wartung der virtuellen Maschine, die der LLUA zugrunde liegt, gibt es folgende Punkte, die beachtet werden müssen:

Ressourcen müssen an die Auslastung angepasst sein

Um die LLUA möglichst nachhaltig zu betreiben, sollte die zugrunde liegende Maschine möglichst genau auf die Auslastung der LLUA zugeschnitten sein. Deshalb ist eine Überwachung der Auslastung der Maschine in folgenden Punkten notwendig:

  • Arbeitsspeicher
  • CPU
  • Festplattenspeicher

An dem Punkt, wo die zugrunde liegende Maschine Performance verliert, d.h. Aufrufe von Diensten länger als gewöhnlich dauern, sollte über die Zuweisung von mehr Ressourcen nachgedacht werden. Das sollte mit den verantwortlichen Administratoren der Maschinen geklärt werden.

Betriebssystem Linux#

Um die Linux Distribution der LLUA zu warten, müssen die Pakete regelmäßig aktualisiert werden, die SSL-Zertifikate erneuert werden, überschüssige Dateien entfernt werden und das Betriebssystem bei Ablauf des Supports aktualisiert werden.

Aktualisieren der Pakete

Die Pakete innerhalb einer auf Debian basierten Linux Version (z. B. Ubuntu) werden mittels der Befehle apt update && apt upgrade aktualisiert. Es bietet sich an, dies regelmäßig auszuführen, um das System auf dem aktuellen Stand zu halten. Um diesen Prozess zu automatisieren, findet sich eine Anleitung auf Linuxopsys.

Erneuern der SSL-Zertifikate

Wenn die SSL-Zertifikate der Webseiten der LLUA abgelaufen sind, so begegnet jedem Aufrufer eine Warnung. Um diese Zertifikate zu aktualisieren, sollten die Administratoren des Rechenzentrums informiert werden.

Entfernen überschüssiger Dateien

Zum nachhaltigen Betreiben einer LLUA, sollten regelmäßig überschüssige Dateien wie z. B. alte Docker Images / Container oder alte Backups entfernt werden. Es bietet sich an diesen ganzen Prozess zu automatisieren, hierfür kann sich Cronjobs bedient werden. Diese ermöglichen das regelmäßige Ausführen von Befehlen in Linux. Für folgende Dateien in der LLUA kann das konkret umgesetzt werden:

Docker

In Docker gibt es den Befehl docker system prune -a, der alle nicht laufenden Elemente von Docker entfernt. Eine Anleitung, wie man das ganze automatisieren kann, findet sich unter Medium.

Backups

Viele Backup Lösungen ermöglichen das Behalten von einer vorher spezifizierten Anzahl an Backups, damit die Festplatte nicht unnötig belastet wird. Sollte sich Rsync als Backup Lösung bedient worden sein, so findet sich eine Anleitung zu dieser Umsetzung auf Dev.to.

Aktualisieren der Linux Distribution

Linux Distributionen wie Ubuntu bieten so genannte LTS (Long Term Support) Versionen an, die garantiert 5 Jahre nach Erscheinen Wartungs- und Sicherheitsupdates zur Verfügung stellen. Nach dieser Zeit ist es dringed empfohlen, die Distribution zu aktualisieren, dies sollte mit der Hilfe der Administratoren aus dem Rechenzentrum geschehen.

Dienste/Programme#

Bevor produktive Dienste gewartet werden, müssen zwei wichtige Vorkehrungen getroffen sein:

  • Der Dienst bzw. das gesamte System, abhängig von der Wartungsebene, wird aktuell entweder nicht genutzt, oder die Wartung wurde im Vorhinein angekündigt
  • Es wurde ein Backup des Dienstes bzw. des Systems durchgeführt

Wenn benannte Punkte sichergestellt sind, können Wartungen an dem Systemen durchgeführt werden, wie Updaten der Dienste oder Anpassen der Konfiguration.

Nginx Proxy Manager (NPM)#

Beim Upgrade von NPM bzw. beim Updaten des Images, sollte wie bei allen anderen Änderungen, vorher ein Backup erstellt werden.

  • Führen Sie Ihre Backup-Routine durch.
  • Stoppen Sie den Container
    docker compose down
    
  • und kopieren Sie die gemappten Volumes
    cp -rp volumes volumes-before_update
    
  • Updaten Sie das Image und erstellen Sie den Container neu
    cd /var/opt/docker/nginx-proxy-manager
    docker compose pull
    docker compose up -d
    
  • Vergewissern Sie sich, dass alle Dienste erreichbar sind und wie erwartet funktionieren.
  • Löschen Sie anschließend/später die Kopie der gemappten Volumes.

Crowd#

Die Wartungstätigkeiten von Crowd umfassen die Aktualisierung von Apps und der Instanz selbst. Sowie auch das regelmäßige Überprüfen von den Gruppen (Rechteverwaltung) in Crowd.

Aktualisieren der Apps in Crowd #

Damit die Apps in Crowd aktualisiert werden können, muss im Menü zu dem Punkt Apps verwalten navigiert werden. Hier werden alle Apps angezeigt, die durch den User installiert wurden. Falls eine neue Version der App vorliegt, dann ist auf der rechten Seite der App ein Knopf mit der Aufschrift Aktualisieren zu sehen.

Durch das Klicken dieses Knopfes, wird das Update durchgeführt. Danach erscheint ein Pop Up, welches den Erfolg der Aktualisierung signalisiert.

Aktualisieren der Crowd Instanz#

Um Crowd zu aktualisieren, müssen folgende Schritte durchgeführt werden:

  • Überprüfen Sie, ob die installierten Apps in Crowd bereits für eine neue Version als kompatibel markiert worden sind

Hierfür muss im Menü zu dem Punkt Apps verwalten navigiert werden. Hier werden alle Apps angezeigt, die durch den User installiert wurden. Unten in der Leiste existiert der Eintrag Crowd update check. Hier wird sukzessive von der neuesten Version, herab geprüft, ob die Apps bereits für die neue Version kompatibel sind. Falls eine kompatible Version vorliegt, so muss diese notiert werden.

  • Ausführen eines Backups

Im Rahmen der LLUA wird empfohlen, eine Lösung für Backups für die Konfiguration der Dienste einzurichten. Bevor jegliche Änderungen an der Konfiguration von Crowd vorgenommen werden, sollte so ein Backup ausgeführt werden, damit bei Problemen mit der neuen Version, ein Sicherungspunkt besteht.

  • In das Verzeichnis navigieren, in dem die docker-compose.yml Datei liegt, in der der Crowd Dienst enthalten ist

In der docker-compose.yml Datei sucht man den Service (Dienst) in der die Instanz beschrieben ist und fügt bei dem Eintrag image die gewünschte Version an, auf die Aktualisiert werden soll, zum Beispiel: image: atlassian/crowd:5.1.2. Hier würde man die 5.1.2 auf die gewünschte Version ändern.

Nach dem Speichern der Datei führt man in dem Verzeichnis den Befehl docker compose up -d crowd aus, vorausgesetzt, der Dienst wurde crowd genannt. Dann wird automatisch die gewünschte Version heruntergeladen und der Container neu gestartet. Nach dem Neustart nimmt man die Erfolgsmeldung der Aktualisierung zur Kenntnis.

Sollte keine Erfolgsmeldung auftauchen, so scrollt man an das Ende der Seite und überprüft, welche Version dort zu finden ist. Dies sieht folgendermaßen aus: Powered by Atlassian Crowd Version: 5.1.2 (Build:#1891 - 2023-02-10) Sollte dort die gewünschte Version stehen, dann ist die Aktualisierung abgeschlossen. Wenn nicht, sollte identifiziert werden, ob alle Schritte in der richtigen Reihenfolge ausgeführt worden sind.

  • Aktualisieren der Apps

Nachdem eine erfolgreiche Aktualisierung durchgeführt wurde, ist es oft der Fall, dass Apps auch auf eine neue Version aktualisiert werden können. Hierfür bitte dem Punkt Aktualisieren der Apps in Crowd folgen.

Fisheye / Crucible#

Fisheye und Crucible sind zusammengefasst in einem Docker Container, weshalb beide zusammen aktualisiert werden. Dies bezieht sich auf das Aktualisieren von Apps in Fisheye und das Aktualisieren der beiden Anwendungen generell.

Aktualisieren der Apps in Fisheye #

Damit die Apps in Fisheye aktualisiert werden können, muss im Menü zu dem Punkt Add-ons navigiert werden. Hier werden alle Apps angezeigt, die durch den User installiert wurden. Falls eine neue Version der App vorliegt, dann ist auf der rechten Seite der App ein Knopf mit der Aufschrift Aktualisieren zu sehen.

Durch das Klicken dieses Knopfes, wird das Update durchgeführt. Danach erscheint ein Pop Up, welches den Erfolg der Aktualisierung signalisiert.

Aktualisieren der Fisheye / Crucible Instanz#

Um Fisheye / Crucible zu aktualiseren, müssen folgende Schritte durchgeführt werden:

  • Überprüfen Sie, ob die in installierten Apps in Fisheye bereits für eine neue Version als kompatibel markiert worden sind

Hierfür muss im Menü zu dem Punkt Add-ons navigiert werden. Hier werden alle Apps angezeigt, die durch den User installiert wurden. Unten in der Leiste existiert der Eintrag FishEye update check. Hier wird sukzessive von der neuesten Version, herab geprüft, ob die Apps bereits für die neue Version kompatibel sind. Falls eine kompatible Version vorliegt, so muss diese notiert werden.

  • Ausführen eines Backups

Im Rahmen der LLUA wird empfohlen, eine Lösung für Backups für die Konfiguration der Dienste einzurichten. Bevor jegliche Änderungen an der Konfiguration von Fisheye / Crucible vorgenommen werden, sollte so ein Backup ausgeführt werden, damit bei Problemen mit der neuen Version, ein Sicherungspunkt besteht.

  • In das Verzeichnis navigieren, in dem die docker-compose.yml Datei liegt, in der der Fisheye / Crucible Container enthalten ist

In der docker-compose.yml Datei sucht man den Eintrag in der die Instanz beschrieben ist und fügt bei dem Eintrag image die gewünschte Version an, auf die Aktualisiert werden soll, zum Beispiel: image: atlassian/crucible:4.8.11. Hier würde man die 4.8.11 auf die gewünschte Version ändern.

Nach dem Speichern der Datei führt man in dem Verzeichnis den Befehl docker compose up -d fisheye_crucible aus, vorausgesetzt, der Dienst wurde fisheye_crucible genannt. Dann wird automatisch die gewünschte Version heruntergeladen und der Container neu gestartet. Nach dem Neustart nimmt man die Erfolgsmeldung der Aktualisierung zur Kenntnis.

Sollte keine Erfolgsmeldung auftauchen, so geht man auf den Hilfe Menü Punkt und wählt die Option Über Fisheye & Crucible. Hier steht die aktuelle Version des Containers.

  • Aktualisieren der Apps

Nachdem eine erfolgreiche Aktualisierung durchgeführt wurde, ist es oft der Fall, dass Apps auch auf eine neue Version aktualisiert werden können. Hierfür bitte dem Punkt Aktualisieren der Apps in Fisheye folgen.

Jira#

Die Wartung von der Jira Instanz ist in mehrere Schritte unterteilt.

Aktualisieren der Apps in Jira #

Um die installierten Apps in Jira zu aktualisieren, navigiert man über das Menü zu dem Punkt Apps verwalten und wählt dort auf der linken Seite unter Atlassian Marketplace den Punkt Apps verwalten aus. Wenn eine der Apps aktualisiert werden kann, dann ist auf der rechten Seite der App ein Knopf mit der Aufschrift Aktualisieren zu sehen.

Durch das Klicken dieses Knopfes, wird das Update durchgeführt. Danach erscheint ein Pop Up, welches den Erfolg der Aktualisierung signalisiert. Wenn alle Aktualisierungen abgeschlossen sind, so muss Jira neu indiziert werden.

Entweder taucht auf der oberen rechten Ecke der Webseite eine Meldung auf die die neue Indizierung vorschlägt oder die Option muss aufgerufen werden. Hierfür navigiert man zum Menüpunkt System und auf der linken Leiste, ganz unten findet sich die Überschrift Erweitert. Dort findet sich die Option Indizierung. Dort wählt man die Option Hintergrundindizierung und betätigt den Knopf Neu indizieren. Wenn der Balken auf 100% angelangt ist, nimmt man die Erfolgsmeldung zur Kenntnis.

Der Atlassian Support hat für das Aktualisieren von Apps eine Anleitung verfasst, die unter folgender URL zu finden ist: Atlassian Dokumentation für die Aktualisierung von Apps

Erneuern der Apps in Jira#

Einige Apps benötigen eine Lizenz, die regelmäßig erneuert werden muss. Dies wird dadurch gekennzeichnet, dass statt Aktualisieren, Erneuern auf der rechten Seite der App erscheint. Bei der Verlängerung der Lizenz wird man durch die Betätigung des Erneuern Knopfes auf eine Bestellseite von Atlassian geleitet, in der man den Bestellprozess durchführt. Danach wurde die Lizenz um den entsprechenden Zeitraum verlängert.

Aktualisieren der Jira Instanz#

Folgende Schritte sind notwendig, um ein Update der Jira Instanz durchzuführen:

  • Überprüfen Sie, ob die in Jira installierten Apps bereits für eine neue Version als kompatibel markiert worden sind

Hierfür navigiert man über das Menü zu dem Punkt Apps verwalten und wählt dort auf der linken Seite unter Atlassian Marketplace den Punkt Apps verwalten aus. Am Ende der Liste der Apps findet sich der Jira Aktualisierungs-Check. Dort kann man die Kompatibilität der installierten Apps für eine bestimmte Version testen. Hier bietet es sich an, mit der neuesten anzufangen und sich sukzessive nach unten zu arbeiten, insofern die Apps nicht kompatibel sein sollten. Ist sichergestellt, dass alle Apps als kompatibel markiert worden sind, so kann mit einem Update auf entsprechende Version fortgefahren werden.

  • Ausführen eines Backups

Im Rahmen der LLUA wird empfohlen, eine Lösung für Backups für die Konfiguration der Dienste einzurichten. Bevor jegliche Änderungen an der Konfiguration von Jira vorgenommen werden, sollte so ein Backup ausgeführt werden, damit bei Problemen mit der neuen Version, ein Sicherungspunkt besteht.

  • In das Verzeichnis navigieren, in dem die docker-compose.yml Datei liegt, in der der Jira Dienst enthalten ist

In der docker-compose.yml Datei sucht man den Eintrag in der die Jira Instanz beschrieben ist und fügt bei dem Eintrag image die gewünschte Version an, auf die Aktualisiert werden soll, zum Beispiel: image: atlassian/jira-software:9.2.0. Hier würde man die 9.2.0 auf die gewünschte Version ändern.

Nach dem Speichern der Datei führt man in dem Verzeichnis den Befehl docker compose up -d jira aus, vorausgesetzt, der Dienst wurde auch jira genannt. Dann wird automatisch die gewünschte Version heruntergeladen und der Container neu gestartet. Nach dem Neustart nimmt man die Erfolgsmeldung der Aktualisierung zur Kenntnis.

Sollte keine Erfolgsmeldung auftauchen, so scrollt man an das Ende der Seite und überprüft, welche Version dort zu finden ist. Dies sieht folgendermaßen aus: Atlassian Jira Project Management Software (v9.3.1#930001-sha1:6cdee1f) Sollte dort die gewünschte Version stehen, dann ist die Aktualisierung abgeschlossen. Wenn nicht, sollte identifiziert werden, ob alle Schritte in der richtigen Reihenfolge ausgeführt worden sind.

  • Aktualisieren der Apps

Nachdem eine erfolgreiche Aktualisierung durchgeführt wurde, ist es oft der Fall, dass Apps auch auf eine neue Version aktualisiert werden können. Hierfür bitte dem Punkt Aktualisieren der Apps in Jira folgen.

Confluence#

Die Wartung von Confluence ist aufgeteilt in das Aktualisieren der installierten Apps und das Aktualisieren von Confluence generell.

Aktualisieren der Apps in Confluence #

Um die installierten Apps in Confluence zu aktualisieren, navigiert man über das Menü zu dem Punkt Apps verwalten. Hier sieht man alle in Confluence hinzugefügten Apps. Wenn eine der Apps aktualisiert werden kann, dann ist auf der rechten Seite der App ein Knopf mit der Aufschrift Aktualisieren zu sehen. Durch das Klicken dieses Knopfes, wird das Update durchgeführt. Danach erscheint ein Pop Up, welches den Erfolg der Aktualisierung signalisiert.

Erneuern der Apps in Confluence#

Einige Apps benötigen eine Lizenz, die regelmäßig erneuert werden muss. Dies wird dadurch gekennzeichnet, dass statt Aktualisieren, Erneuern auf der rechten Seite der App erscheint. Bei der Verlängerung der Lizenz wird man durch die Betätigung des Erneuern Knopfes auf eine Bestellseite von Atlassian geleitet, in der man den Bestellprozess durchführt. Danach wurde die Lizenz um den entsprechenden Zeitraum verlängert.

Folgende Schritte sind notwendig, um ein Update der Confluence Instanz durchzuführen:

  • Überprüfen Sie, ob die in Confluence installierten Apps bereits für eine neue Version als kompatibel markiert worden sind

Hierfür navigiert man über das Menü zu dem Punkt Apps verwalten. Am Ende der Liste der Apps findet sich der Confluence Aktualisierungs-Check. Dort kann man die Kompatibilität der installierten Apps für eine bestimmte Version testen. Hier bietet es sich an mit der neuesten anzufangen und sich sukzessive nach unten zu arbeiten, insofern die Apps nicht kompatibel sein sollten. Ist sichergestellt, dass alle Apps als kompatibel markiert worden sind, so kann mit einem Update auf entsprechende Version fortgefahren werden.

  • Ausführen eines Backups

Im Rahmen der LLUA wird empfohlen, eine Lösung für Backups für die Konfiguration der Dienste einzurichten. Bevor jegliche Änderungen an der Konfiguration von Confluence vorgenommen werden, sollte so ein Backup ausgeführt werden, damit bei Problemen mit der neuen Version, ein Sicherungspunkt besteht.

  • In das Verzeichnis navigieren, in dem die docker-compose.yml Datei liegt, in der der Confluence Dienst enthalten ist

In der docker-compose.yml Datei sucht man den Eintrag in der die Confluence Instanz beschrieben ist und fügt bei dem Eintrag image die gewünschte Version an, auf die Aktualisiert werden soll, zum Beispiel: image: atlassian/confluence-server:7.20.2.

Hier würde man die 7.20.2 auf die gewünschte Version ändern. Nach dem Speichern der Datei führt man in dem Verzeichnis den Befehl docker compose up -d confluence aus, vorausgesetzt, der Dienst wurde confluence genannt. Dann wird automatisch die gewünschte Version heruntergeladen und der Container neu gestartet.

Nach dem Neustart nimmt man die Erfolgsmeldung der Aktualisierung zur Kenntnis.

Sollte keine Erfolgsmeldung auftauchen, so scrollt man an das Ende der Seite und überprüft, welche Version dort zu finden ist. Dies sieht folgendermaßen aus: Powered by Atlassian Confluence 7.20.2. Sollte dort die gewünschte Version stehen, dann ist die Aktualisierung abgeschlossen. Wenn nicht, sollte identifiziert werden, ob alle Schritte in der richtigen Reihenfolge ausgeführt worden sind.

  • Aktualisieren der Apps

Nachdem eine erfolgreiche Aktualisierung durchgeführt wurde, ist es oft der Fall, dass Apps auch auf eine neue Version aktualisiert werden können. Hierfür bitte dem Punkt Aktualisieren der Apps in Confluence folgen.

Mattermost#

Für die Aktualisierung von Mattermost muss lediglich die Versionsnummer des Docker Containers erhöht werden. Das Aktualisieren der Apps ist nicht notwendig, da diese keine Begrenzung der Version nach oben haben. Daher kann Mattermost stehts auf die neueste Version aktualisiert werden.

Um Mattermost zu aktualisieren, müssen folgende Schritte durchgeführt werden:

  • Navigieren Sie in das Verzeichnis, in dem die docker-compose.yml Datei liegt, in der der Mattermost Dienst eingetragen ist

Hierbei sollte die docker-compose.yml Datei geöffnet werden und notiert werden, ob die team oder enterprise Edition von Mattermost genutzt wird. Das kann Anhand der Endung des Images bestimmt werden.

  • Neueste Mattermost Version identifizieren

Nachdem die Edition von Mattermost bestimmt wurde, muss nach genau diesem Image in dockerhub gesucht werden. Dafür navigiert man zu den Tags und sucht nach der neuesten verfügbaren Version von Mattermost.

  • Ausführen eines Backups

Im Rahmen der LLUA wird empfohlen, eine Lösung für Backups für die Konfiguration der Dienste einzurichten. Bevor jegliche Änderungen an der Konfiguration von Mattermost vorgenommen werden, sollte so ein Backup ausgeführt werden, damit bei Problemen mit der neuen Version, ein Sicherungspunkt besteht.

  • Unter dem Eintrag des Mattermost Dienstes, in der Deklaration image: mattermost/mattermost-enterprise-edition:<tag>, die gewünschte Version einfügen

Die zuvor identifizierte neueste Version wird nun hier als tag hinterlegt, um Mattermost auf diese zu Aktualisieren.

  • Nach dem Speichern der Datei im selben Ordner den Befehl docker compose up -d mattermost ausführen, vorausgesetzt, der Dienst wurde mattermost genannt

Durch diesen Befehl wird die neueste Version von Mattermost heruntergeladen und damit auch aktualisiert. Um sicher zu gehen, dass die Aktualisierung nach der Durchführung erfolgreich war, navigiert man in das Menü von Mattermost, welches sich oben Links in der Webapp oder im Client findet. In dem Menüpunkt Über Mattermost findet sich die aktuelle Versionsnummer, die dann mit der neuen Version abgeglichen werden kann.

Data Warehouse#

Das hier verwendete Data Warehouse ist lediglich eine PostgreSQL Instanz und ein Nginx als File Server, welche in Docker Containern laufen.

Datenbank

Wenn Sie die Datenbank auf eine höhere PostgreSQL Version upgraden wollen, gehen Sie am besten wie folgt vor:

Backups und Disclaimer

Vor einem Upgrade sollten Sie unbedingt ein Backup Ihrer Daten erzeugen. Ein gutes Vorgehen ist unten beschrieben. Bei Datenverlust oder -beschädigung wird keine Haftung übernommen.

Version

Die Beschreibung wurde für PostgreSQL Version 11 erstellt.

  • Starten Sie ggf. Ihre Backup-Routine.
  • Navigieren Sie in den Ordner, in welchem die docker-compose.yml und die Volumes für die Instanz liegen. Zum Beispiel: cd /var/opt/docker/data_warehouse.
  • Erstellen Sie einen Dump aller vorhandenen Datenbanken (der Container muss dafür laufen; den username und das Passwort finden Sie in Ihrer docker-compose.yml)
    docker exec -it [postgres-container] pg_dumpall -U [username] > dumpfile
    
  • Anschließend fahren Sie den Container herunter
    docker compose down
    
  • und verschieben die aktuellen Volumes
    mv ./volumes/db ./volumes/db-old_postgresql_version
    
  • Jetzt editieren Sie die Versionsnummer (hier 11) in der docker-compose.yml
    ...
        image: postgres:11-alpine
    ...
    
  • Anschließend starten Sie den Container wieder. Es wird wahrscheinlich ein neues Image heruntergeladen.
    docker compose up -d
    
  • Die Datenbank des neuen Containers ist zurzeit leer und unter volumes/ wurde wieder ein data_warehouse Ordner erstellt.
  • Jetzt importieren Sie die Datenbanken, von denen Sie zuvor einen Dump erstellt haben.
    docker exec -it [postgres-container] psql < dumpfile
    
  • Überprüfen Sie den Import und bewahren Sie sowohl den Dump und die zuvor verschobenen Volumes so lange auf, bis Sie sich sicher sind, dass das Data Warehouse mit der neuen PostgreSQL Version fehlerfrei funktioniert.

File Server

Um das Nginx Docker Image zu updaten, genügt ein einfaches Pullen des neuen Images und anschließend die Neuerstellung des Containers

docker compose pull
docker compose up -d

Pentaho Server#

Prinzipiell gilt hier das gleiche, wie für alle anderen Services. Machen Sie ein Backup bevor Sie ein Upgrade oder sonstige Änderungen durchführen.

Das Upgrade des Pentaho Server Containers ist leider nicht ganz leicht und es kann hier nicht vorhergesehen werden, inwiefern die folgende Anleitung für die nächste Versionsnummer zutrifft. Aus diesem Grund wird die Anleitung nur sehr rudimentär aufgeführt.

  • Starten Sie Ihre Backup-Routine.
  • Navigieren Sie in den Ordner, in welchem die docker-compose.yml und die Volumes für die Instanz liegen. Zum Beispiel: cd /var/opt/docker/pentaho.
  • Fahren Sie den Container herunter
    docker compose down
    
  • Editieren Sie das Dockerfile an den folgenden Stellen und tragen Sie die gewünschte Version ein
    ENV MAJOR_VERSION 9.1
    ENV MINOR_VERSION 9.1.0.0-324
    
  • Starten Sie den Stack wieder und bauen Sie dabei das Image neu
    docker compose up -d --build