Docker
Online-Aktualisierung
Prüfung der Benutzerrechte und Ausführen des Skripts
Wenn die Aktualisierung nicht als root durchgeführt wird, muss der Benutzer Mitglied der Gruppe docker sein.
Sie können prüfen, ob der Benutzer Mitglied der Gruppe docker ist, mit folgendem Befehl:
- shell
id $USER | grep docker
Wenn der Benutzer nicht zur Gruppe gehört, fügen Sie ihn mit folgendem Befehl hinzu:
- shell
sudo usermod -a -G docker $USER
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:
- shell
- update
./update.sh
cd /<passwork>/
wget -N https://repos.passwork.pro/repository/passwork-docker/update.sh
chmod +x update.sh
Der Codeblock trennt die Befehle:
- shell — das Passwork-Aktualisierungsskript ausführen
- update — das Skript update.sh aktualisieren
Durchgeführte Aktionen
- Prüfung auf Vorhandensein der Hilfsprogramme
unzip,curlundjq - Importieren der Variablen aus der Datei
.env - Prüfung der Variable
$CERT - Abrufen der neuesten verfügbaren Version von Passwork
- Überprüfung des Archivs anhand der digitalen Signatur
- Erstellen einer Sicherung der Datenbank und Konfigurationsdateien
- Herunterladen und Aktualisieren
- 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.
Wenn die Passwork-Weboberfläche nach der Aktualisierung Warnmeldungen anzeigt:
Offline-Aktualisierung
Prüfung der Benutzerrechte
Wenn die Aktualisierung nicht als root durchgeführt wird, muss der Benutzer Mitglied der Gruppe docker sein.
Sie können prüfen, ob der Benutzer Mitglied der Gruppe docker ist, mit folgendem Befehl:
- shell
id $USER | grep docker
Wenn der Benutzer nicht zur Gruppe gehört, fügen Sie ihn mit folgendem Befehl hinzu:
- shell
sudo usermod -a -G docker $USER
Herunterladen des Updates und Ausführen des Skripts
Gehen Sie zum Kundenportal und laden Sie die neueste verfügbare Version von Passwork mit digitaler Signatur herunter:

Um die digitale Signatur zu überprüfen, benötigen Sie außerdem den Passwork-Schlüssel 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
- wget
curl -o public.key https://passwork.pro/public-key
wget -O public.key https://passwork.pro/public-key
Verschieben Sie die erhaltenen Dateien auf den Server mit Passwork in das Stammverzeichnis des Docker-Builds:
- shell
/<passwork>/Passwork-xxxxxx.zip
/<passwork>/xxxxxx.sig
/<passwork>/public.key
Führen Sie das Aktualisierungsskript aus:
- shell
- update
cd /<passwork>/
./offline_update.sh
cd /<passwork>/
wget -N https://repos.passwork.pro/repository/passwork-docker/offline_update.sh
chmod +x offline_update.sh
Der Codeblock trennt die Befehle:
- shell — das Passwork-Aktualisierungsskript ausführen
- update — das Skript offline_update.sh aktualisieren
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:
- shell
./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
Wenn die Passwork-Weboberfläche nach der Aktualisierung Warnmeldungen anzeigt: