Zum Inhalt springen

Was ist Watchtower?

Watchtower hält die Docker-Container von SOLECTRUS auf dem aktuellen Stand.

Nötig ist das, weil Docker ein Image nur einmal herunterlädt und es danach immer wieder verwendet. Auch beim Tag latest sieht Docker von sich aus nicht nach, ob es inzwischen eine neuere Version gibt. Ohne Zutun läuft eine Installation vom Mai im Dezember noch mit dem Image vom Mai.

Watchtower prüft daher regelmäßig, ob neue Versionen der verwendeten Images vorliegen. Findet es eine, lädt es das Image herunter, stoppt den alten Container und startet ihn mit der neuen Version neu. Watchtower läuft selbst als Container und aktualisiert auch sich selbst.

Bei einer Installation mit HELIOS ist Watchtower dabei. Standardmäßig sieht es einmal täglich nach. Ein anderes Intervall bietet HELIOS unter Konfiguration → Grundeinstellungen → Software-Stand an, sobald mindestens ein Dienst auf Entwicklung steht.

Damit Watchtower nicht sämtliche Container auf dem Host anfasst, kennzeichnet HELIOS die Dienste von SOLECTRUS mit dem Label com.centurylinklabs.watchtower.scope=solectrus. Watchtower hält nur diese aktuell. Andere Container auf demselben Server bleiben unangetastet.

Das Label bekommen nur die Dienste, die HELIOS selbst erzeugt. Dienste, die es beim Übernehmen einer bestehenden Installation unverändert durchreicht, etwa Tibber-Collector und SENEC-Charger, tragen es nicht. Watchtower aktualisiert sie deshalb nicht.

Das ursprüngliche Watchtower wird nicht mehr gepflegt und funktioniert mit Docker 29+ nicht mehr ohne weiteres. SOLECTRUS verwendet daher den Fork von Nicholas Fedor, also das Image nickfedor/watchtower.