Gladys-Update ohne Watchtower

Ich habe Gladys ohne Watchtower installiert, weil ich nicht möchte, dass Gladys und alle anderen Container aktualisiert werden. Ich möchte die ersten Rückmeldungen abwarten, bevor ich ein Update durchführe. Umso mehr, da ich mit den externen Integrationen nicht denke, dass es jetzt eine gute Idee wäre.

Ich habe das Update daher manuell gestartet, aber es funktioniert nicht. Tatsächlich wird das Watchtower-Image abgerufen, aber nichts weiter. Letztendlich wird Gladys nicht aktualisiert.

Zudem sollte das manuelle Starten dieses Updates die anderen Container nicht aktualisieren.

Hallo @ArMour85,

Vielen Dank für dein Feedback, und du hast in einem Punkt recht: Heute startet das manuelle Update einen Watchtower im --run-once-Modus, ohne die Liste der Container einzuschränken. Daher betrifft es potenziell alle Container deiner Maschine. Das ist ein Verhalten, das wir korrigieren müssen, ich notiere es.

Für dein Problem mit dem Update, das nicht abgeschlossen wird, benötige ich einige Informationen, um meine Vermutung zu bestätigen. Zwei mögliche Ursachen:

1. Die Art und Weise, wie du Watchtower deaktiviert hast. Wenn du das Label com.centurylinklabs.watchtower.enable=false zu deinem Gladys-Container hinzugefügt hast (die klassische Methode, um einen Container auszuschließen), dann respektiert der durch den „Update“-Button gestartete Watchtower dies ebenfalls: Er startet, findet nichts zum Aktualisieren und stoppt. Dies entspricht genau dem, was du beschreibst.

Kannst du mir das Ergebnis von folgendem Befehl geben:

docker inspect gladys --format '{{json .Config.Labels}}'

Und mir mitteilen, wie du Watchtower deaktiviert hast: Container gelöscht, Container gestoppt oder Label auf den Containern?

2. Ein stiller Fehler. Derzeit wird, wenn nach dem Herunterladen des Images etwas schiefgeht, der Fehler nur serverseitig protokolliert: Die Oberfläche bleibt bei „Update läuft“ stehen, ohne etwas anzuzeigen. Die Logs von Gladys zum Zeitpunkt, an dem du auf den Button klickst, würden uns alles verraten:

docker logs gladys --tail 200

(Klicke auf „Update“, warte eine Minute, und führe dann den Befehl aus)

Und schließlich, um es abzuschließen:

docker ps -a

Um zu sehen, ob ein Container gladys-watchtower-… gestartet wurde und mit welchem Exit-Code.

Vielen Dank im Voraus, damit sollten wir schnell Klarheit haben.

Ich habe nichts deaktiviert, ich habe einfach nur den Container erstellt, indem ich den Befehl aus der Dokumentation ausgeführt habe. Ich habe Docker Compose nicht verwendet.

Hier ist das Ergebnis des Befehls:

$ sudo docker ps -a
CONTAINER ID   IMAGE                            COMMAND                  CREATED        STATUS        PORTS     NAMES
fb8251117cc4   gladysassistant/gladys:v4.83.0   "docker-entrypoint.s…"   40 hours ago   Up 16 hours             gladys
$ sudo docker inspect gladys --format '{{json .Config.Labels}}'
{}

Hier sind die Logs:

2026-08-02T12:59:39+0200 <info> system.installUpgrade.js:63 (System.installUpgrade) Pulling nickfedor/watchtower:latest image...
2026-08-02T12:59:41+0200 <info> system.installUpgrade.js:79 (System.installUpgrade) Watchtower container started
2026-08-02T12:59:44+0200 <info> system.installUpgrade.js:113 (System.installUpgrade) Watchtower container finished with status code 0

Kein Watchtower-Container, aber das Bild existiert:

$ sudo docker image ls                                                                                                                                      
**i** Info →   U  In Use

**IMAGE**                            **ID**             **DISK USAGE**   **CONTENT SIZE**   **EXTRA**                                                                                             

**gladysassistant/gladys:v4.83.0**   92e700688a85          2GB          414MB    U                                                                                                

**nickfedor/watchtower:latest**      696a5fb17b9a         52MB         13.4MB

Du hast alle Informationen.

Danke @ArMour85, deine Logs geben die Antwort. Es handelt sich weder um ein Label noch um einen Fehler: Es ist das Tag deines Bildes.

Dein Container läuft auf gladysassistant/gladys:v4.83.0, also ein festes Tag. Watchtower aktualisiert einen Container, indem er genau das gleiche Tag herunterlädt, mit dem er erstellt wurde. Und v4.83.0 wird immer auf das gleiche Bild verweisen, per Definition. Watchtower startet also, überprüft, findet nichts Neues und beendet sich sauber nach 3 Sekunden mit dem Code 0, was deine Logs zeigen. Mit diesem Tag kann der „Aktualisieren“-Button nie etwas tun.

Das dokumentierte Tag ist gladysassistant/gladys:v4: Es ist ein mobiles Tag, das den neuen Versionen folgt.

Und der wichtige Punkt für deinen Bedarf: Es ist nicht das Tag, das die automatischen Updates auslöst, sondern der Watchtower-Container. Da du ihn nicht installiert hast, wird nichts automatisch aktualisiert. Indem du zu :v4 wechselst, behältst du genau die Kontrolle, die du möchtest, keine automatischen Updates, aber der „Aktualisieren“-Button funktioniert, wenn du es entscheidest. Das ist die Konfiguration, die ich dir empfehle.

Zum Wechseln (deine Daten sind in /var/lib/gladysassistant, sie sind nicht im Container, also geht nichts verloren):

sudo docker stop gladys && sudo docker rm gladys

Dann starte Gladys mit dem Befehl hier: Installation avec Docker | Gladys Assistant

Du wirst direkt die Version 4.84.1 erhalten, und die zukünftigen Updates werden über die Schnittstelle erfolgen, auf deine Anfrage hin.

Wenn du wirklich bei festen Tags bleiben möchtest, ist das auch möglich, aber du musst jedes Mal das Update manuell durchführen (docker pull gladysassistant/gladys:v4.84.1, dann stop/rm/run mit dem neuen Tag).

Dein Feedback zeigt jedoch drei Punkte auf, die wir auf unserer Seite korrigieren müssen, und ich werde mich darum kümmern:

  1. Das manuelle Update sollte nur Gladys betreffen, nicht alle Container der Maschine, du hattest recht in diesem Punkt.
  2. Wenn nichts aktualisiert wird oder ein Fehler auftritt, sollte die Schnittstelle dies anzeigen, anstatt auf „Update läuft“ hängen zu bleiben.
  3. Gladys sollte erkennen, dass sie auf einem festen Tag läuft und dir das klar erklären, anstatt einen Button anzubieten, der nicht funktionieren kann.

Danke für den Hinweis, das ist sehr hilfreich.

Ach ja, ich hatte vergessen, dass ich eine spezifische Version für einen Test ausgewählt hatte, deshalb verstehe ich jetzt, warum es nicht funktioniert.

Froh, dass meine Dummheit Probleme ans Licht bringt :slightly_smiling_face:

Das bringt mich zu einer Frage. Ist es möglich, es anders zu machen als mit Watchtower? Gladys kennt die neueste verfügbare Version. Selbst mit meiner Dummheit wäre es möglich, auf die neueste Version zu aktualisieren.
Eine weitere interessante Funktion wäre auch, zurückgehen zu können, falls die neueste Version nicht funktioniert. Dafür müsste auch ein Backup der Datenbank erstellt werden.

Die Korrekturen sind in der neuesten Version von Gladys verfügbar!

Es gibt keine wirklich bessere Lösung, da Gladys seinen Container nicht von innen töten und neu erstellen kann. Es muss unbedingt ein dritter Container die Arbeit erledigen. Also kann man sich auch auf Watchtower verlassen, die Referenz in der Branche seit Jahren :slight_smile:

@pierre-gilles wie wird es ablaufen, wenn du die Bildversion auf V5 änderst :slight_smile: ? Sollte man nicht auf latest verweisen?

Genau aus diesem Grund sollte man nicht auf latest verweisen: Mit Watchtower würden die Nutzer automatisch von v4 auf v5 wechseln, ohne dass sie es verlangen, und mit einem echten Risiko für Probleme. Wir hatten bereits den Fall zwischen v3 und v4, die nicht abwärtskompatibel war.

Wenn du auf den Tag v4 verweist, erhältst du alle kleinen und korrigierenden Updates automatisch, und der Wechsel zu v5 bleibt eine bewusste Entscheidung deinerseits.

Konkrekt sind wir nicht in der Nähe, auf v5 zu wechseln: Das ist nicht auf der Tagesordnung. Und am Tag, an dem es passiert, werden wir ein dediziertes Migrations-Tool entwickeln, das alle notwendigen Änderungen verwaltet, mit der dazugehörigen Dokumentation. Also keine Sorge :slight_smile:

Ja, meine Frage bezieht sich vor allem darauf, dass man mit Wathtower normalerweise nicht von einem Tag zum anderen migrieren kann und somit auch nicht von der v4 zur v5.

Du hast noch Zeit, das zu beobachten.

Das Update hat funktioniert. Ich schließe das Thema.