Zum Hauptinhalt springen

Docker

Online-Aktualisierung

Prüfung der Benutzerrechte und Ausführen des Skripts

Wenn die Aktualisierung nicht als root durchgeführt wird — müssen Sie sicherstellen, dass der Benutzer Mitglied der Gruppe docker ist.

Sie können prüfen, ob der Benutzer Mitglied der Gruppe docker ist, mit folgendem Befehl:

id $USER | grep docker

Wenn der Benutzer nicht zur Gruppe gehört, fügen Sie ihn mit folgendem Befehl hinzu:

sudo usermod -a -G docker $USER
gefahr

Das Skript verwendet curl. Wenn Ihr Netzwerk einen Proxyserver nutzt, müssen Sie Umgebungsvariablen hinzufügen:
export http_proxy=http://proxy.example.com:8080
export https_proxy=http://proxy.example.com:8080

Führen Sie anschließend das Passwork-Aktualisierungsskript aus:

./update.sh
Durchgeführte Aktionen
  1. Prüfung auf Vorhandensein der Hilfsprogramme unzip, curl und jq
  2. Importieren der Variablen aus der Datei .env
  3. Prüfung der Variable $CERT
  4. Abrufen der neuesten verfügbaren Version von Passwork
  5. Überprüfung des Archivs anhand der digitalen Signatur
  6. Erstellen einer Sicherung der Datenbank und Konfigurationsdateien
  7. Herunterladen und Aktualisieren
  8. Fehlerbehandlung

Abschluss des Skripts

Vor der Aktualisierung von Passwork erstellt das Skript eine Sicherung der Datenbank im Verzeichnis ./backup/mongo-xxxx-xx-xx-xx:xx:xx.dump und eine Kopie der Konfigurationsdateien im Stammverzeichnis ./conf-20240201-xxxxxx.tar.gz.

Offline-Aktualisierung

Prüfung der Benutzerrechte

Wenn die Aktualisierung nicht als root durchgeführt wird — müssen Sie sicherstellen, dass der Benutzer Mitglied der Gruppe docker ist.

Sie können prüfen, ob der Benutzer Mitglied der Gruppe docker ist, mit folgendem Befehl:

id $USER | grep docker

Wenn der Benutzer nicht zur Gruppe gehört, fügen Sie ihn mit folgendem Befehl hinzu:

sudo usermod -a -G docker $USER

Herunterladen des Updates und Ausführen des Skripts

Gehen Sie zu unserem Kundenportal und laden Sie die neueste verfügbare Version von Passwork mit digitaler Signatur herunter:

Beispiel für den Erhalt von Passwork Version 7

Um die digitale Signatur zu überprüfen, benötigen Sie außerdem den öffentlichen Schlüssel von Passwork public.key. Möglichkeiten, diesen zu erhalten:

Manuell

  • Öffnen Sie die URL;
  • Kopieren Sie den gesamten Inhalt;
  • Fügen Sie ihn in eine Datei ein und speichern Sie den Inhalt unter dem Namen — public.key.

Automatisch (curl oder wget)

curl -o public.key https://passwork.pro/public-key

Verschieben Sie die erhaltenen Dateien auf den Server mit Passwork in das Stammverzeichnis des Docker-Builds:

/<passwork>/Passwork-xxxxxx.zip
/<passwork>/xxxxxx.sig
/<passwork>/public.key

Führen Sie das Aktualisierungsskript aus:

cd /<passwork>/
./offline_update.sh
info

Standardmäßig überprüft das Skript die digitale Signatur des Archivs mit dem bereitgestellten öffentlichen Schlüssel. Wenn die Signatur ungültig ist oder fehlt, wird die Aktualisierung abgebrochen.

Wenn Sie der Archivquelle vertrauen, können Sie die Signaturüberprüfung überspringen:

./offline_update.sh --skip
Durchgeführte Aktionen
  • Importieren der Variablen aus der .env-Datei
  • Bestimmung des Aktualisierungsmodus:
    • Wenn ein Archiv mit der Version gefunden wird, wird der Modus auf „zip" gesetzt
    • Wenn ein Verzeichnis mit der Version gefunden wird, wird der Modus auf „directory" gesetzt
  • Erstellen einer Sicherung der Datenbank und Konfigurationsdateien
  • Prüfung auf Vorhandensein des Hilfsprogramms Unzip, wenn ein .zip-Archiv erkannt wird
  • Überprüfung des Archivs anhand der digitalen Signatur
  • Entpacken des Archivinhalts oder Kopieren des Verzeichnisinhalts in den Ordner „www"
  • Auswahl der Aktualisierungsmethode und deren Ausführung
  • Fehlerbehandlung

Abschluss des Skripts

Vor der Aktualisierung von Passwork erstellt das Skript eine Sicherung der Datenbank im Verzeichnis ./backup/mongo-xxxx-xx-xx-xx:xx:xx.dump und eine Kopie der Konfigurationsdateien im Stammverzeichnis ./conf-20240201-xxxxxx.tar.gz