Seit meinem letzten Beitrag „Raspberry Pi als Heimserver – #3 – FreshRSS“ sind nun schon wieder 9 Wochen vergangen. Die Zeit vergeht wie im Flug, wenn man an seinem Heimserver bastelt und neue spannende Projekte umsetzt. Heute möchte ich euch ein Tool vorstellen, das mir in den letzten Wochen unglaublich geholfen hat, meinen Server aktuell zu halten: Watchtower.
Was ist Watchtower?
Watchtower ist ein Docker Container, der eure anderen Docker Container automatisch auf den neuesten Stand bringt. Ihr kennt das vielleicht: Man hat verschiedene Dienste auf seinem Server laufen und muss regelmäßig nach Updates suchen und diese manuell einspielen. Das kann nicht nur zeitaufwendig sein, sondern auch fehleranfällig, wenn man mal ein Update vergisst. Watchtower nimmt euch diese Arbeit ab und sorgt dafür, dass eure Container immer die neuesten Sicherheitsupdates und Features haben.

Warum ich Watchtower nutze
Ich betreibe meinen Heimserver mit verschiedenen Diensten, wie zum Beispiel FreshRSS, Syncthing und Portainer. Diese werden alle über Docker Container verwaltet. Mit der Zeit sammeln sich so einige Container an und es wird schnell unübersichtlich, welche Versionen gerade laufen und ob es Updates gibt. Watchtower hat mir dabei geholfen, den Überblick zu behalten und meine Container einfach und zentral zu aktualisieren.
Installation von Watchtower
Die Installation von Watchtower ist denkbar einfach, besonders wenn ihr bereits Portainer nutzt (wie im zweiten Teil meiner Serie beschrieben). Portainer ist eine grafische Oberfläche für die Verwaltung von Docker Containern und Images.
- Portainer öffnen: Meldet euch bei Portainer an.
- Container erstellen: Klickt auf „Containers“ und dann auf „Add container“.
- Container konfigurieren: Gebt dem Container einen Namen (z.B. „watchtower“) und trage das Image „nickfedor/watchtower:latest“ ein.
- Volume zuweisen: Klicke unter „Advanced container settings“ auf „Volume“ und anschließend auf „Map additional volume“. Klicke nun auf „Bind“ und „Read only“ und trage „/var/run/docker.sock“ unter „Container“ und „Host“ ein.
- Environment Variablen: Klicke unter „Advanced container settings“ auf „Env“ und anschließend auf „Add an environment variable“. Trage nun die folgenden Variablen und Werte ein:
WATCHTOWER_CLEANUP = true
: Entfernt alte Container-Images, die nicht mehr verwendet werden.WATCHTOWER_SCHEDULE = 0 0 4 * * *
: Legt einen Zeitplan für die automatischen Updates fest. In diesem Fall wird Watchtower jeden Tag um 4 Uhr morgens nach Updates suchen.TZ = Europe/Berlin
: Setzt die Zeitzone für die Zeitplanung.
- Verhalten bei Neustart: Klicke unter „Advanced container settings“ auf „Restart policy“ und wähle anschließend „Unless stopped“ aus.
- Container starten: Klicke abschließend auf „Deploy the container“ und der Container wird erstellt.
Alternativ kann der Docker Container auch per CLI erstellt werden. Dazu ist eine SSH Verbindung über Putty zum Raspberry Pi notwendig. Anschließend kannst du den folgenden Befehl absetzen und der Container wird erstellt:
docker run -d --name watchtower \
-e TZ="Europe/Berlin" \
-e WATCHTOWER_SCHEDULE="0 0 4 * * *" \
-e WATCHTOWER_CLEANUP="true" \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
--restart unless-stopped \
nickfedor/watchtower:latest
Weitere Konfiguration
Watchtower bietet noch weitere Konfigurationsmöglichkeiten, die ihr in der Dokumentation nachlesen könnt:
Fazit
Watchtower ist ein wirklich nützliches Tool, um die Docker Container auf dem Raspberry Pi Heimserver aktuell zu halten. Es spart Zeit und Mühe und sorgt dafür, dass alle Dienste immer auf dem neuesten Stand sind. Ich kann es jedem empfehlen, der Docker Container nutzt und Wert auf eine einfache und automatisierte Update-Verwaltung legt.
Hast du noch Fragen?
Hast du noch Fragen zu diesem Beitrag? Dann ab damit in die Kommentare oder schreib mich über Mastodon oder Bluesky an.
Dies könnte dich auch interessieren…
Du möchtest weitere Inhalte von mir lesen? Dann schau dir doch mal meinen letzten Beitrag an.