Zum Inhalt springen

Self-Update

ReadyStackGo kann sich selbst aktualisieren, ohne dass manuell auf dem Server docker compose pull ausgeführt werden muss. Sobald eine neue Version verfügbar ist, erscheint ein Update-Banner in der Sidebar. Ein Klick auf Update now öffnet eine dedizierte Update-Seite, die den gesamten Aktualisierungsprozess steuert und den Fortschritt anzeigt.

SchrittWas passiert
ErkennungRSGO prüft über die GitHub Releases API, ob eine neuere Version existiert
Update-SeiteEin Klick auf “Update now” öffnet eine eigene Seite mit Fortschrittsanzeige
PullDas neue Docker Image wird automatisch heruntergeladen
SwapEin Helper-Container übernimmt den Austausch des laufenden Containers
WartungsseiteWährend des Neustarts wird eine Wartungsseite auf Port 8080 angezeigt
FertigDie Update-Seite erkennt automatisch, wenn die neue Version läuft, und leitet zum Dashboard weiter

Wenn eine neue Version verfügbar ist, erscheint automatisch ein Banner in der linken Sidebar unterhalb der Navigation. Das Banner zeigt die verfügbare Versionsnummer und zwei Aktionen:

  • Update now — Öffnet die Update-Seite und startet das Update
  • See what’s new — Öffnet die Release Notes auf GitHub

Sidebar mit Update-Banner


Klicken Sie auf Update now. Es öffnet sich eine dedizierte Update-Seite mit Fortschrittsanzeige. Die Seite zeigt die aktuelle und die Zielversion sowie einen Spinner:

Update wird durchgeführt

Im Hintergrund passiert Folgendes:

  1. Das neue Image (wiesenwischer/readystackgo:X.Y.Z) wird heruntergeladen
  2. Ein neuer Container mit der gleichen Konfiguration wird vorbereitet
  3. Ein Helper-Container (rsgo-updater) übernimmt den Austausch
  4. Der alte Container wird gestoppt und entfernt
  5. Der neue Container wird umbenannt und gestartet

Während des Container-Austauschs ist RSGO kurzzeitig nicht erreichbar. In dieser Zeit:

  • Der Helper-Container zeigt eine Wartungsseite im gleichen Design an
  • Die Update-Seite pollt automatisch alle 3 Sekunden, ob der neue Server bereit ist
  • Sobald die neue Version antwortet, wird automatisch zum Dashboard weitergeleitet

Sie müssen nichts weiter tun — warten Sie einfach, bis die Weiterleitung erfolgt.


Falls das Update fehlschlägt (z.B. weil das Image nicht heruntergeladen werden kann), zeigt die Update-Seite eine Fehlermeldung mit der Möglichkeit zum erneuten Versuch:

Fehler beim Update

Mögliche Fehlerursachen:

FehlerUrsacheLösung
Docker error: unable to pull imageKeine Internetverbindung oder Image nicht gefundenNetzwerkverbindung prüfen, Version auf Docker Hub verfügbar?
Docker error: connection refusedDocker Socket nicht erreichbarPrüfen ob /var/run/docker.sock als Volume gemountet ist
Update timeoutNeuer Container startet nichtContainer-Logs prüfen: docker logs readystackgo

Das Update wird von einem separaten Helper-Container (wiesenwischer/rsgo-updater) durchgeführt. Dieser:

  • Basiert auf docker:cli (Alpine mit Docker CLI)
  • Wird mit --network=host und AutoRemove gestartet
  • Stoppt den alten RSGO Container, benennt den neuen um und startet ihn
  • Zeigt während des Austauschs eine Wartungsseite im RSGO-Design an
  • Räumt sich nach Abschluss automatisch auf

RSGO erkennt neue Versionen über die GitHub Releases API. Die aktuelle Version wird beim Build als Assembly-Metadaten eingebettet. Lokale Entwicklungs-Builds verwenden 0.0.0-dev als Versionsnummer.