Läuft auf der Installation der Updater, ist das Aktualisieren in der Oberfläche am bequemsten – das beschreibt Aktualisieren mit dem Updater. Hier steht derselbe Ablauf über die Kommandozeile; er funktioniert immer, mit oder ohne Updater. Alle Befehle laufen im Verzeichnis der Installation.
Auf eine neue Version aktualisieren
Jede Version ist ein neues Paket. Übergeben Sie es entweder direkt dem Befehl:
./draften update --bundle /path/to/draften-<new version>.tar
oder kopieren Sie es in den Ordner updates/ und führen Sie aus:
./draften update <new version>
Die Aktualisierung verursacht keinen Ausfall und läuft Schritt für Schritt:
- sie prüft das Paket anhand der Schlüssel der installierten Version – bevor sie irgendetwas daraus verwendet,
- sie speichert eine Datenbanksicherung in
backups/(die letzten drei bleiben erhalten; die Zahl legtDRAFTEN_BACKUPSin.envfest), - sie führt die Migrationen der Datenbank aus,
- sie ersetzt die Worker,
- sie startet die neue Version der Weboberfläche neben der, die gerade bedient, und schaltet auf sie um, sobald sie gesund ist.
Wird die neue Version nicht gesund, wird nichts umgeschaltet, und die vorherige bedient weiter.
Ein Paket lässt sich auch prüfen, ohne es zu installieren:
./draften check draften-<new version>.tar
Nach der Aktualisierung
./draften status
zeigt, welche Farbe der Weboberfläche bedient, die Version und den Zustand beider Farben und der Worker, den Stand von HTTPS und die Datenbanksicherungen. Auf der Seite Betrieb melden sich die Worker, und das Urteil lautet „die Kapazität reicht“. Was die Version geändert hat, steht in der Datei NOTES.md.
Zur vorherigen Version zurückkehren
Die Version, die vor der Aktualisierung bedient hat, läuft ohne Verkehr weiter. Auf sie schalten Sie sofort zurück:
./draften rollback
Das geht, weil die Datenbank auch für die vorherige Version lesbar bleibt.
Zu einer noch älteren Version zurückkehren
Das geht nur über die Wiederherstellung einer Datenbanksicherung. Jede Sicherung in backups/ trägt im Namen die Version, die bei ihrer Erstellung lief:
docker compose stop worker
gunzip -c backups/<time>-<version>.sql.gz | docker compose exec -T db sh -c 'mariadb -uroot -p"$MARIADB_ROOT_PASSWORD"'
./draften update <version> --no-backup
Alles, was in draften nach der Erstellung der Sicherung geschehen ist, geht verloren.
Eine Sicherung von vor dem Ersetzen des Verschlüsselungsschlüssels öffnet sich nur mit dem vorherigen Schlüssel, MASTER_KEY_PREVIOUS in .env. Siehe Sicherung und Wiederherstellung.
Ein Rechner ohne Internet
Der Updater lädt neue Versionen mit dem Schlüssel aus der Lizenz herunter. Ein Rechner ohne Internet lädt nichts herunter: Kopieren Sie das Paket in updates/ und aktualisieren Sie mit ./draften update <version> – oder der Updater bietet es Ihnen von dort in der Oberfläche an.
Was sich nicht von selbst ändert
- Einstellungen, Anweisungen und Quellen der Assistenten stehen in der Datenbank, und eine Aktualisierung rührt sie nicht an.
- Das Client secret einer Entra-Registrierung läuft ab, je nachdem, für wie lange Sie es ausgestellt haben; erneuern Sie es in der Oberfläche (Organisation → Integrationen → Neues Geheimnis), nicht durch eine Aktualisierung.
- Das HTTPS-Zertifikat erneuern Sie selbst:
./draften certificate new.pem new.key.