Zum Inhalt springen
Q
QuoteNode

Installation

QuoteNode aktualisieren

So prüfen Sie neue Versionen, aktualisieren eine Docker-Compose-Bereitstellung und führen einen sicheren Rollback durch.

QuoteNode aktualisieren

QuoteNode prüft automatisch auf neue Versionen. Sobald eine neuere Version verfügbar ist, zeigt das Admin-Panel eine Benachrichtigung mit der Versionsbezeichnung und einem Link zu den Release-Notes an.

Aktualisierung auf PostgreSQL 18

Die Compose-Dateien oben verwenden bereits postgres:18-alpine, daher brauchen Neuinstallationen nichts. Wenn du eine frühere Alpha auf PostgreSQL 16 oder 17 betrieben hast, migriere die Daten einmalig: Ein PostgreSQL-18-Server startet nicht auf einem älteren Datenverzeichnis (die Anwendung verweigert den Start, bis die Daten kompatibel sind, und ändert sie nie automatisch). Nutze das pg_dump-Backup aus der Checkliste unten, lege das Datenbank-Volume auf postgres:18-alpine neu an und stelle den Dump wieder her.

Funktionsweise der Versionsprüfung

Das Frontend ruft https://quotenode.dev/releases/latest.json beim Admin-Login ab. Dabei handelt es sich um eine schreibgeschützte, nicht authentifizierte GET-Anfrage. Es werden keine Daten Ihrer Instanz übermittelt. Die Prüfung kann deaktiviert werden:

VITE_RELEASE_CHECK_ENABLED=false

Sie können auch die Manifest-URL überschreiben:

VITE_RELEASE_MANIFEST_URL=https://your-mirror.example.com/releases/latest.json

Ist das Manifest nicht erreichbar, schlägt die Prüfung lautlos fehl und das Admin-Panel funktioniert normal weiter.

Checkliste vor dem Update

Vor dem Update:

  1. Notieren Sie die aktuelle Version, die unter Admin > Lizenz oder in der Versionsbenachrichtigung angezeigt wird.
  2. Sichern Sie .env — diese Datei enthält Geheimnisse, die nicht neu generiert werden können (insbesondere DB_ENCRYPTION_KEY).
  3. Erstellen Sie ein Datenbank-Backup:
docker compose exec postgres pg_dump -U quotenode quotenode > backup-before-upgrade.sql
  1. Falls automatische Backups aktiviert sind (BACKUP_ENABLED=true), prüfen Sie, ob ein aktuelles Backup im Backup-Volume vorhanden ist.

Update-Vorgang

Für Docker-Compose-Bereitstellungen (Ubuntu VPS, LAN Linux, Coolify manuell):

docker compose pull
docker compose up -d

Dieser Befehl zieht die neuesten Images und erstellt nur die Container neu, deren Images sich geändert haben. Datenbankmigrationen werden beim Start des Backends automatisch ausgeführt.

Bei Coolify mit aktiviertem Auto-Deploy löst ein Push in den konfigurierten Branch das Update automatisch aus.

Überprüfung nach dem Update

Nachdem die Container laufen:

  1. Öffnen Sie /health — der Endpunkt sollte UP zurückgeben.
  2. Melden Sie sich an und prüfen Sie unter Admin > Lizenz die neue Versionsnummer.
  3. Erstellen Sie ein Test-Angebot und generieren Sie ein PDF, um die Pipeline zu überprüfen.
  4. Öffnen Sie einen öffentlichen Link, um das Frontend-Routing zu verifizieren.
  5. Falls SMTP konfiguriert ist, prüfen Sie, ob eine Test-Benachrichtigungs-E-Mail versendet wird.

Rollback

Falls das Update Probleme verursacht:

  1. Führen Sie nicht docker compose down -v aus — dies löscht alle Daten einschließlich der Datenbank.
  2. Stoppen Sie die Dienste:
docker compose down
  1. Bearbeiten Sie docker-compose.yml (oder .env), um die vorherigen Image-Tags festzuschreiben:
services:
  backend:
    image: ghcr.io/lesisty7/quotenode/quotenode-api:v0.9.0-alpha
  frontend:
    image: ghcr.io/lesisty7/quotenode/quotenode-frontend:v0.9.0-alpha
  1. Starten Sie die Dienste erneut:
docker compose up -d

Falls die neue Version irreversible Datenbankmigrationen enthielt, reicht ein Rollback der Images allein möglicherweise nicht aus. In diesem Fall stellen Sie die Datenbank aus dem Backup vor dem Update wieder her:

docker compose down
docker compose up -d postgres
docker compose exec -T postgres psql -U quotenode quotenode < backup-before-upgrade.sql
docker compose up -d

Image-Tags festschreiben

Die Installationsanleitungen verwenden latest-Tags der Einfachheit halber. Für Produktionsbereitstellungen sollten Sie explizite Versions-Tags festschreiben, um zu steuern, wann Updates stattfinden:

services:
  backend:
    image: ghcr.io/lesisty7/quotenode/quotenode-api:v0.9.0-beta
  frontend:
    image: ghcr.io/lesisty7/quotenode/quotenode-frontend:v0.9.0-beta

Führen Sie dann ein Update durch, indem Sie den Tag ändern und docker compose up -d ausführen.

Versionsformat

QuoteNode verwendet semantische Versionierung mit einem Kanal-Suffix:

  • v0.9.0-alpha — frühe Entwicklung
  • v0.9.0-beta — öffentliche Beta
  • v0.9.0-rc — Release-Kandidat
  • v0.9.0 — stabiles Release

Das Release-Manifest enthält version, channel, label und imageTags, sodass das Frontend Versionen präzise vergleichen kann.

Last reviewed: Recently