A Diun nevű progi (Docker Image Update Notifier) értesítést küld, ha a Docker registry-ben újabb verziójú kép érhető el annál, mint amit használunk.

A compose.yaml konfig:

services:
  diun:
    image: crazymax/diun:latest
    container_name: diun
    restart: always
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/data
    environment:
      - TZ=${TIMEZONE}
      - LOG_LEVEL=info
      - LOG_JSON=false
      - DIUN_PROVIDERS_DOCKER=true
      - DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=true
      - DIUN_WATCH_SCHEDULE=${DIUN_WATCH_SCHEDULE}
      - DIUN_NOTIF_MAIL_HOST=${DIUN_NOTIF_MAIL_HOST}
      - DIUN_NOTIF_MAIL_PORT=${DIUN_NOTIF_MAIL_PORT}
      - DIUN_NOTIF_MAIL_SSL=${DIUN_NOTIF_MAIL_SSL}
      - DIUN_NOTIF_MAIL_USERNAME=${DIUN_NOTIF_MAIL_USERNAME}
      - DIUN_NOTIF_MAIL_PASSWORD=${DIUN_NOTIF_MAIL_PASSWORD}
      - DIUN_NOTIF_MAIL_TO=${DIUN_NOTIF_MAIL_TO}
      - DIUN_NOTIF_MAIL_FROM=diun@myserver.home
    command: serve

A watchByDefault beállítás miatt minden image-et figyel. Ha ezt nem akarjuk, akkor szolgáltatásonként kell megadnunk, mit figyeljen, címkék segítségével.

# egy tetszőleges compose.yaml
services:
# egy tetszőleges szolgáltatás
  gluetun:
    image: qmcgaw/gluetun
    labels:
      - diun.enable=true
# stb...

A változókhoz, titkokhoz a .env:

TIMEZONE=Europe/Copenhagen
DIUN_WATCH_SCHEDULE="51 22 * * *"
DIUN_NOTIF_MAIL_HOST=smtp.eu.mailgun.org
DIUN_NOTIF_MAIL_PORT=587
DIUN_NOTIF_MAIL_SSL=false
DIUN_NOTIF_MAIL_USERNAME=postmaster@mail.mydomain.hu
DIUN_NOTIF_MAIL_PASSWORD=ezittkamujelszo
DIUN_NOTIF_MAIL_TO=idekeremazemailt@gmail.com

Létrehozzuk a szükséges mappákat, elindítjuk a szolgáltatást, majd kipróbáljuk az emailküldést.

$ chmod 600 .env
$ mkdir data
$ docker compose up -d
$ docker compose logs -f
$ docker compose exec diun diun notif test
$ docker compose down