Updates von trax werden über das Docker Repository, erreichbar per HTTPS unter registry.tts-trax.com
, verteilt. Die aktuelle Version ist auf dem trax Dashboard einsehbar.
TTS trax 5.0 benötigt MariaDB 10.11, um ausgeführt werden zu können. Bevor Sie daher den TTS trax-Container aktualisieren, muss der Datenbank-Container aktualisiert werden. Ebenfalls wird mit diesem Release die Version des verwendeten Redis-Containers auf Redis 7 aktualisiert.
Zur Aktualisierung des Datenbank-Containers ist zunächst ein Backup der Datenbank anzulegen. Sollten Sie noch nicht der Backup-Anleitung gefolgt sein, führen Sie die dort genannten Schritte bis inklusive "Schritt 1: Backup der Datenbank" aus, um eine Kopie der Datenbank-Daten zu erzeugen.
Stoppen Sie nun Ihre TTS trax Installation mit dem Befehl:
$ docker-compose down
Im nächsten Schritt muss die Datei docker-compose.yml
aktualisiert werden.
Dazu öffnen Sie diese mit einem Editor und aktualisieren die image
-Definition sowohl für den database
als auch für den redis
Service wie folgt:
database
: registry.tts-trax.com/deps/mariadb:10.11
redis
: registry.tts-trax.com/deps/redis:7-alpine
Dies bedeutet folgende Änderungen:
Vorher:
# docker-compose.yml
services:
# ...
redis:
image: redis:4-alpine # oder in neueren Installationen registry.tts-trax.com/deps/redis:4-alpine
restart: always
volumes:
- redis:/data
database:
image: mariadb:10.3 # oder in neueren Installationen registry.tts-trax.com/deps/mariadb:10.3
command: ...
restart: always
environment:
- MYSQL_ROOT_PASSWORD=${DB_SETUP_PASSWORD}
- MYSQL_DATABASE=${DB_DATABASE}
- MYSQL_USER=${DB_USERNAME}
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- mariadb-data:/var/lib/mysql
- ./seed:/docker-entrypoint-initdb.d:ro
- ./database/keys.enc:/etc/mysql/keys.enc:ro
- ./database/keys.key:/etc/mysql/keys.key
# ...
Nachher:
# docker-compose.yml
services:
# ...
redis:
image: registry.tts-trax.com/deps/redis:7-alpine
restart: always
volumes:
- redis:/data
database:
image: registry.tts-trax.com/deps/mariadb:10.11
command: ...
restart: always
environment:
- MYSQL_ROOT_PASSWORD=${DB_SETUP_PASSWORD}
- MYSQL_DATABASE=${DB_DATABASE}
- MYSQL_USER=${DB_USERNAME}
- MYSQL_PASSWORD=${DB_PASSWORD}
volumes:
- mariadb-data:/var/lib/mysql
- ./seed:/docker-entrypoint-initdb.d:ro
- ./database/keys.enc:/etc/mysql/keys.enc:ro
- ./database/keys.key:/etc/mysql/keys.key
# ...
Sollten Sie eigene Images verwenden, beachten Sie, dass das bereitgestellte Image für MariaDB so konfiguriert wurde,
dass der mariadb-upgrade
-Befehl automatisch beim Start des Containers ausgeführt wird.
Dieser Befehl muss unbedingt ausgeführt werden, um die Funktionalität der Datenbank sicherzustellen.
Starten Sie nun TTS trax erneut, indem Sie diese Befehle ausführen:
$ docker-compose pull
$ docker-compose up -d
Sollte der erste Befehl fehlschlagen, ist womöglich das Zertifikat zum Zugriff auf die TTS trax-Registry abgelaufen. Bitte erzeugen Sie in dem Fall einen neuen CSR und fragen die Ausstellung eines neuen Zertifikats an. Nach einer kurzen Zeit sollte TTS trax wieder erfolgreich starten. Um die Logs des Datenbank-Containers zu prüfen, können Sie den folgenden Befehl verwenden (zum Verlassen des Befehls drücken Sie bitte Strg + C):
$ docker-compose logs -f database
Nachdem die Datenbank aktualisiert wurde, können Sie mit dem Update, wie im Abschnitt Aktualisierung auf Linux-Server beschrieben, durch Eingabe des folgenden Befehls fortfahren:
$ ./update.sh 5.0
TTS trax ab Version 4.2 wird unter Linux in einem erneuerten Container-Image ausgeliefert. Um dieses einsetzen zu können, muss sichergestellt sein, dass auf Ihrem Host-System mindestens Docker 20.10.9 installiert ist.
Verwenden Sie den folgenden Befehl, um die installierte Version der Docker-Umgebung zu identifizieren:
$ docker version -f "{{.Server.Version}}"
Stellen Sie sicher, dass dieser Befehl eine Version neuer als 20.10.9 ausgibt. Ist dies nicht der Fall, aktualisieren Sie bitte die verwendete Docker-Version.
Unter Debian-basierten Systemen ist eine Aktualisierung mit diesen Befehlen möglich:
$ sudo apt-get update
$ sudo apt-get upgrade
Beim Update auf eine neue Version von TTS trax gibt der Container einige Statusmeldungen in Form von Log-Ausgaben aus. Diese können Sie, sobald der Container gestartet wurde, mit dem folgenden Befehl sowohl unter Linux als auch unter Windows Server einsehen:
$ docker-compose logs -f trax
Durch die Option -f
werden fortlaufend die neusten Meldungen ausgegeben.
Dieser Modus kann mit der Tastenkombination Strg+C wieder verlassen werden.
Die aktuellen TTS trax Releases werden in der Liste der Freigegebenen Versionen aufgelistet und werden mit einer Versionsnummer bezeichnet, die aus drei per Punkt getrennten Komponenten besteht (z.B. 3.2.0
).
Releases werden in zwei Kategorien eingeteilt:
Eine Release-Version erhält immer eine Versionsnummer in der Form x.y.0
, das heißt hier werden die ersten beiden Komponenten der Versionsnummer erhöht.
Eine Patch-Version erhöht immer die letzte Komponente der Versionsnummer, also z.B. ist die Version 4.0.1
die erste Patch-Version der Release-Version 4.0.0
.
Für jede Version wird ein Docker-Image bereitgestellt, das über die Versionsnummer abgerufen werden kann.
Um das Update auf die aktuellste Patch-Version zu erleichtern, wird zusätzlich noch die aktuelle Patch-Version unter der
Release-Version in der Form x.y
bereitgestellt, also für die Release-Version 4.0.0
unter der Version 4.0
.
Verwenden Sie im Folgenden also diese Kurzschreibweise, um schnell auf die aktuellste Patch-Version zu aktualisieren.
Sie können in der Liste der Freigegebenen Versionen auch einen RSS-Feed abrufen, über den Sie stets auf dem Laufenden bleiben können.
Im trax-Verzeichnis befindet sich das Skript update.sh
. Falls nicht bereits geschehen, muss das Skript ausführbar gemacht werden:
$ chmod +x ./update.sh
Anschließend kann das Skript ausgeführt werden:
$ ./update.sh [--no-restart] [<version>]
Der optionale Parameter --no-restart
verhindert, dass trax nach dem Download automatisch neu gestartet wird.
Die Zielversion, auf die aktualisiert werden soll, wird als Argument übergeben.
Dies ist nur nötig, wenn auf ein neues Release aktualisiert werden soll.
Zur Installation der aktuellen Patches kann dieser Parameter weggelassen werden.
Beispiel um trax auf die Version 2.2 zu aktualisieren und automatisch neu zu starten:
$ ./update.sh 2.2
Wurde der Parameter --no-restart
mit angegeben, muss trax nach dem Download des Updates manuell neu gestartet werden.
$ ./restart.sh
Im trax-Verzeichnis befindet sich das Skript update.ps1
, welches wie folgt ausgeführt werden kann:
.\update.ps1 [-NoRestart] [<version>]
Der optionale Parameter -NoRestart
verhindert, dass trax nach dem Download automatisch neu gestartet wird.
Die Zielversion, auf die aktualisiert werden soll, wird als Argument übergeben.
Dies ist nur nötig, wenn auf ein neues Release aktualisiert werden soll.
Zur Installation der aktuellen Patches kann dieser Parameter weggelassen werden.
Beispiel um trax auf die Version 2.2 zu aktualisieren und automatisch neu zu starten:
.\update.ps1 2.2
Wurde der Parameter -NoRestart mit angegeben, muss trax nach dem Download des Updates manuell neu gestartet werden.
docker-compose up -d --no-deps trax
Sollte die automatische Aktualisierung mit dem Skript update.ps1
fehlschlagen, können folgende Schritte zur
Aktualisierung der trax-Installation verwendet werden.
Wenn ein neues Release installiert werden soll, muss diese zunächst in der Datei docker-compose.yml
hinterlegt werden.
Von der Verwendung von Notepad zum Bearbeiten dieser Datei wird abgeraten. Es sollte ein Editor verwendet werden, der mit UNIX-Zeilenumbrüchen umgehen kann. Ein solcher Editor, der standardmäßig in einer Windows-Server-Installation vorhanden ist, ist die Powershell ISE.
In folgendem Abschnitt ist die Version, hier am Beispiel eines Updates von Version 2.1 auf Version 2.2, entsprechend von 2.1 auf 2.2 anzuheben:
...
trax:
image: registry.tts-trax.com/trax-win:2.1
...
...
trax:
image: registry.tts-trax.com/trax-win:2.2
...
Sollte der Server nur über einen HTTP-Proxy mit dem Internet kommunizieren können, ist dieser nun zu aktivieren.
Folgende Schritte sind in einer privilegierten Powershell auszuführen.
Dabei sind <HTTP_PROXY_ADDRESSE>
sowie <HTTPS_PROXY_ADDRESSE>
durch die Adresse des Proxyservers zu ersetzen.
[System.Environment]::SetEnvironmentVariable("HTTP_PROXY", "<HTTP_PROXY_ADDRESSE>", [EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable("HTTPS_PROXY", "<HTTPS_PROXY_ADDRESSE>", [EnvironmentVariableTarget]::Machine)
Restart-Service docker
Der Neustart des Docker-Services ist zwingend erforderlich!
Zum Herunterladen des Docker-Images für die ausgewählte trax-Version ist Folgendes in der privilegierten Powershell auszuführen.
Wird lediglich eine Major und eine Minor-Version in der docker-compose.yml
spezifiziert (also bspw. 2.1) so wird automatisch
die aktuelle Patch-Version heruntergeladen (z.B. 2.1.5).
docker-compose pull trax
Bevor die neue trax-Version aktiviert werden kann, muss zunächst wieder die Proxy-Konfiguration für Docker mit folgenden Befehlen in der privilegierten Powershell entfernt werden:
[System.Environment]::SetEnvironmentVariable("HTTP_PROXY", $null, [EnvironmentVariableTarget]::Machine)
[System.Environment]::SetEnvironmentVariable("HTTPS_PROXY", $null, [EnvironmentVariableTarget]::Machine)
Restart-Service docker
Zum Start der aktualisierten trax-Version ist folgender Befehl zu verwenden:
docker-compose up -d --no-deps trax
Damit wird sichergestellt, dass ausschließlich der trax-Container neu gestartet wird. Beim Neustart wird automatisch die aktuellste geladene Version ausgewählt.