Maintenir à jour les images Docker avec Diun

Maintenir à jour les images Docker avec Diun

24/11/2022 0 Par Julien

Nous allons découvrir ici Diun, une image Docker qui va inspecter les dépôts de toutes vos images docker pour vous informer s’il y a une mise à jour et qui grâce à Gotify va vous en informer. Diun ne fait pas les mises à jour tout seul il vous en informe juste, ça permet d’éviter de casser une image qui fonctionne !!!

Pour commencer, il suffit de suivre l’article « Installer un Docker sur Portainer avec Compose » avec le nom diun et dans la partie Web editor de recopier le code ci-dessous, juste avant de valider l’installation en cliquant sur Deploy the stack :

version: "3.5"
services:
  diun:
    image: crazymax/diun:latest
    container_name: diun
    command: serve
    volumes:
      - /opt/diun/data:/data
      - /var/run/docker.sock:/var/run/docker.sock
    environment:
      - LOG_LEVEL=info
      - LOG_JSON=false
      - DIUN_WATCH_WORKERS=20
      - DIUN_PROVIDERS_DOCKER=true
      - DIUN_WATCH_FIRSTCHECKNOTIF=true
      - DIUN_WATCH_SCHEDULE=0 */6 * * *
      - DIUN_NOTIF_GOTIFY_ENDPOINT=#Adresse de votre serveur Gotify#
      - DIUN_NOTIF_GOTIFY_TOKEN=#Mot de passe de Gotify#
      - DIUN_NOTIF_GOTIFY_TEMPLATETITLE={{ .Entry.Image }} {{ if (eq .Entry.Status "new") }}is available{{ else }}has been updated{{ end }}
      - DIUN_NOTIF_GOTIFY_TEMPLATEBODY=Docker tag {{ if .Entry.Image.HubLink }}[**{{ .Entry.Image }}**]({{ .Entry.Image.HubLink }}){{ else }}**{{ .Entry.Image }}**{{ end }} which you subscribed to through {{ .Entry.Provider }} provider {{ if (eq .Entry.Status "new") }}is available{{ else }}has been updated{{ end }} on {{ .Entry.Image.Domain }} registry (triggered by {{ .Meta.Hostname }} host).
    restart: always
    network_mode: bridge
    labels:
      - diun.enable=true

Et ensuite il suffit d’ajouter ces lignes dans tous les stack des images que vous voulez vérifier:

    labels:
      - diun.enable=true

Félicitation, vous recevrez une alerte dans Gotify à chaque mise à jour.