Skip to main content

Watchtower

Das Repo wurde am 17. Dezember 2025 vom Betreiber archiviert und ist seitdem read-only.
https://github.com/containrrr/watchtower/discussions/2135

Sendet eine E-Mail, wenn es eine neue Version (auch latest) von einem Docker-Image gibt.
Nachteil ist, dass er auf allen Docker-Hosts laufen muss.

docker-compose.yml
services:
  watchtower:
    image: containrrr/watchtower
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /etc/localtime:/etc/localtime:ro
    environment:
      - WATCHTOWER_CLEANUP=true
      - WATCHTOWER_LABEL_ENABLE=true
      - WATCHTOWER_INCLUDE_RESTARTING=true
      - WATCHTOWER_NOTIFICATIONS_LEVEL=info # panic, fatal, error, warn, info, debug oder trace
      - WATCHTOWER_NOTIFICATIONS=email
      - [email protected]               # Angezeigter Absender der Email einfügen
      - [email protected]                     # Empfänger-Adresse der Email einfügen
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=e-mail_provider.com             # SMTP-Server einfügen
      - [email protected]            # SMTP Benutzername einfügen
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=geheim                 # SMTP-Passwort einfügen
      - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=587                        # SMTP-Port einfügen
      - WATCHTOWER_SCHEDULE=0 0 4 * * *  # z. B. täglich um 04:00 Uhr (Cron-Syntax, UTC!)
    labels:
      - "com.centurylinklabs.watchtower.enable=false"
      # die Einstellung schließt aus, dass das Docker-Image aktualisiert wird.
      # Ansonsten label hinzufügen und auf "true", die aktual. werden sollen.
    #ports:
    # - "8080:8080"

 

Jedes docker-compose auf dem Host, welches überwacht werden soll, muss ein Label erhalten. Watchtower prüft dann anhand des sockets.

Beispiel:

  gotenberg:
    image: docker.io/gotenberg/gotenberg:8.7
    restart: always
    ports:
      - "3000:3000"
    labels:
      - "com.centurylinklabs.watchtower.enable=true"