--- title: Einrichten von Watchtower in Docker Compose description: published: true date: 2024-06-17T10:46:43.961Z tags: editor: markdown dateCreated: 2024-06-17T10:37:04.889Z --- # Einrichten von Watchtower in Docker Compose Watchtower ist ein Docker-Tool, das automatisch Docker-Container überwacht und aktualisiert, wenn neue Versionen ihrer Images verfügbar sind. Hier sind die wichtigsten Funktionen von Watchtower: 1. Automatische Aktualisierung: Watchtower überwacht die Docker-Images Ihrer laufenden Container und sucht regelmäßig nach Updates. Wenn eine neue Version des Images verfügbar ist, zieht Watchtower automatisch das neueste Image herunter und startet den Container neu, um die Aktualisierung anzuwenden. 2. Einfache Konfiguration: Watchtower kann einfach durch das Hinzufügen eines Containers zu Ihrer Docker-Compose-Konfiguration oder durch direkte Verwendung des Docker-Befehls aktiviert werden. Die Konfiguration ermöglicht es Ihnen, das Aktualisierungsintervall anzupassen und spezifische Container auszuschließen, wenn gewünscht. 3. Unterstützung für mehrere Quellen: Watchtower kann Images von verschiedenen Quellen aktualisieren, einschließlich öffentlicher und privater Docker-Registries sowie benutzerdefinierter Image-URLs. 5. Protokollierung und Benachrichtigungen: Watchtower erstellt Protokolle über durchgeführte Aktualisierungen und bietet die Möglichkeit, Benachrichtigungen zu konfigurieren, um Sie über Aktualisierungen zu informieren. Insgesamt erleichtert Watchtower die Verwaltung und Aktualisierung von Docker-Containern, indem es den manuellen Prozess der Überwachung von Updates und deren Anwendung automatisiert. ## Voraussetzungen Stellen Sie sicher, dass Docker und Docker Compose auf Ihrem System installiert sind. - Docker Installation: [Docker Installationsanleitung](https://docs.docker.com/get-docker/) - Docker Compose Installation: [Docker Compose Installationsanleitung](https://docs.docker.com/compose/install/) - Nginx Reverse Proxy Installation ## Schritte ### 1. Docker Compose Datei erstellen Erstellen Sie eine `docker-compose.yml`-Datei in Ihrem Projektverzeichnis. Hier ist ein einfaches Beispiel: ```yaml ~~~ version: "3" services: watchtower: image: containrrr/watchtower restart: always volumes: - /var/run/docker.sock:/var/run/docker.sock - /etc/localtime:/etc/localtime:ro environment: - WATCHTOWER_NOTIFICATIONS_LEVEL=info # Klassifizierung, die für die Benachrichtigungen verwendet wird. Mögliche Werte sind: panic, fatal, error, warn, info, debug oder trace. - WATCHTOWER_NOTIFICATIONS=shoutrrr email - WATCHTOWER_NOTIFICATION_URL=ntfy://${USER}:${SECRET}@ntfy.${DOMAIN}/watchtower?title=WatchtowerUpdate - WATCHTOWER_NOTIFICATION_EMAIL_FROM=watchtower@${DOMAIN} # Angezeigter Absender der Email einfügen - WATCHTOWER_NOTIFICATION_EMAIL_TO=${USER}@${DOMAIN} # Empfänger-Adresse der Email einfügen - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=mail.${DOMAIN} # SMTP-Server einfügen - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=watchtower@${DOMAIN} # SMTP Benutzername einfügen - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=${SECRET} # SMTP-Passwort einfügen - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=465 # SMTP-Port einfügen - WATCHTOWER_LABEL_ENABLE=true - WATCHTOWER_SCHEDULE=0 0 7 * * * # Hier anpassen. Im Beispiel: Jeden Morgen um 07:00 Uhr - WATCHTOWER_TIMEOUT=600s # Hier passen wir die Timeoutzeit an. - WATCHTOWER_INCLUDE_RESTARTING=true # Hiermit wird der Neustart konfiguriert. - WATCHTOWER_CLEANUP=true # Mit dieser Option werden nach dem Start des neuen Images die alten entfernt - WATCHTOWER_ROLLING_RESTART=true # Restart nacheinander durchführen - WATCHTOWER_HTTP_API_METRICS=true - WATCHTOWER_HTTP_API_TOKEN=${SECRET} labels: - "com.centurylinklabs.watchtower.enable=true" # Hiermit wird dieser Service explizit automatisiert aktualisiert. networks: dns: ipv4_address: 172.28.0.10 networks: dns: name: dns external: true ``` ### 2. Watchtower konfigurieren In der obenstehenden `docker-compose.yml` wird Watchtower konfiguriert, um alle 30 Sekunden nach Aktualisierungen zu suchen. Sie können das Intervall nach Bedarf anpassen. ### 3. Docker Compose ausführen Führen Sie den folgenden Befehl in Ihrem Projektverzeichnis aus, um Docker Compose zu starten: ```bash docker-compose up -d ``` ### 4. Überwachen Sie die Aktualisierungen Watchtower wird nun automatisch nach Updates für Ihre Docker-Container suchen und diese aktualisieren. Sie können die Protokolle überwachen, um den Fortschritt zu überprüfen: ```bash docker logs -f ``` Ersetzen Sie `` durch den Namen Ihres Watchtower-Containers. ### Hinweis Stellen Sie sicher, dass Ihre Container mit einem `latest`-Tag oder einer bestimmten Version getaggt sind, damit Watchtower weiß, welche Version heruntergeladen werden soll. # Quellen https://containrrr.dev/watchtower/ https://github.com/containrrr/watchtower https://goneuland.de/docker-images-automatisiert-aktualisieren-mit-watchtower