So hältst du deine Docker-Container up to date | What´s Up Docker

Übersicht
Mittlerweile haben wir eine menge an Docker Container im Einsatz. Natürlich möchten wir die Container immer up to date halten, allerdings kriegen wir nicht wirklich mit, wenn Updates verfügbar sind. Um nun nicht alle Registrys ständig von Hand überprüfen zu müssen können wir What´s Up Docker (WuD) nutzen. WuD übernimmt die Aufgabe für uns und kann uns Benachrichtigen, sobald es Updates für einen Container gibt.
Außerdem können wir auch tiefgründigere Trigger konfigurieren mit denen wir bspw. auch Automatisch updaten können etc.
In dem heutigen Beitrag schauen wir uns einmal eine simple Konfiguration für WuD an um Benachrichtig zu werden sobald es Updates für einen unserer Container gibt.
Das passaende Video zum Beitrag findet ihr hier: https://youtu.be/ttC9vWevROc
Docker Compose & env
Den Großteil der Konfiguration nehmen wir in der Docker-Compose vor. Wie immer habe ich hier für euch eine Basic konfiguration vorbereitet die ihr nutzen und auf eure Bedürfnisse anpassen könnt. In meinem Fall habe ich SMTP für die Benachrichtigung gewählt um E-Mails zu erhalten bei verfügbaren Updates. Außerdem habe ich für Outline noch die Registry hinzugefügt, da diese per default nicht erkannt wird.
services:
whatsupdocker:
image: getwud/wud
container_name: wud
volumes:
- /var/run/docker.sock:/var/run/docker.sock
networks:
- reverse-proxy
env_file:
- .env
environment:
- WUD_TRIGGER_SMTP_MAIL_HOST=
- WUD_TRIGGER_SMTP_MAIL_PORT=
- WUD_TRIGGER_SMTP_MAIL_USER=
- WUD_TRIGGER_SMTP_MAIL_PASS=${WUD_TRIGGER_SMTP_MAIL_PASS}
- WUD_TRIGGER_SMTP_MAIL_FROM=
- WUD_TRIGGER_SMTP_MAIL_TO=
- WUD_TRIGGER_SMTP_MAIL_TLS_ENABLED=true
- WUD_TRIGGER_SMTP_MAIL_SIMPLETITLE=Container $${container.name} can be
updated
#Registry für Outline
- WUD_REGISTRY_CUSTOM_Outline_URL=https://docker.getoutline.com
networks:
reverse-proxy:
external: true
# VARIABLE=value #comment
WUD_TRIGGER_SMTP_MAIL_PASS=
Nginx Proxy Manager
Auch WuD wollen wir mit gültigem SSL Zertifikat direkt über unsere Domain erreichen. Dafür nutzen wir wieder unseren Nginx Proxy Manager und fügen einen neuen Host mit gewünschter Domain hinzu.
WuD Webinterface
Nachdem wir dem Container nun eine Domain verpasst haben, können wir auch schon auf das Webinterface von WuD zugreifen. Das Webinterface ist relativ schlicht gehalten und gibt uns eine grobe übersicht über unsere Container und die Verfügbaren Updates.
Wenn das Webinterface abgesichert werden soll gibt es hierfür verschiedene Möglichkeiten. Ihr könnt ein Login über Authentik integrieren oder aber bspw. auch auf dem Nginx Proxy Manager ein Passwort für die Seite hinterlegen.
Updates
Unter dem Punkt Containers im Webinterface werden alle unsere gefundenen Container aufgelistet und angezeigt. Alle Container die ein Update zur verfügung haben werden mit einer roten oder gelben Info gekennzeichnet. Für genau diese Container erhalten wir durch den SMTP Trigger den wir hinterlegt haben ebenfalls E-Mails mit der Info.
Trigger
Ich persönliche nutze das Tool vorerst nur um mir eine Übersicht zu verschaffen welche Container ein neues Update bereit halten und um mich entsprechend Informieren zu lassen. Im Anschluss schaue ich dann selber nach, welche Updates ich machen will und was die entsprechenden neuerungen sind.
Natürlich ist es auch möglich, die Container automatisch von WuD Updaten zu lassen mit entsprechenden Triggern die dazu konfiguriert werden können. Zusätzlich sind auch viele weitere Automationen möglich, wenn gewünscht.
Watcher
Die Watchers dienen zu Individuellen Einstellungen für die einzelnen Container. Hier haben wir einige Möglichkeiten Anpassungen vorzunehmen.
Wir können unteranderem Optische Veränderungen vornehmen indem wir das Logo im Webinterface für die Container entsprechend anpassen können.
Wir können aber auch die Tags der Images die wir überwachen möchten entsprechend hinterlegen.
Ich belasse das ganze einfach bei den Basics da ich wirklich nur simple Benachrichtgungen erhalten möchte, wenn es Updates für Container gibt.
Weitere Infos zu den Watchers findet ihr hier. Auf der Seite sind auch einige Examples hinterlegt um ein Verständnis dafür zu entwickeln, wie man die Labels & Variablen verwendet.