Diun

MIT
Platform
Docker Linux macOS Windows
Licence
MIT Open source
Diun

Diun is a notifier for container image updates. It watches the images your containers are built from and tells you when a tag you depend on changes — a new release, or the same tag rebuilt with a fresh base image after a security fix. Instead of polling registries by hand, or trusting that latest quietly moved, you run Diun once and get a message through whatever channel you already read.

It is a single Go binary, also published as a multi-arch container image, configured with a YAML file. The daemon runs on a schedule, inspects the manifests of the images it has been told to watch, keeps what it has seen in an embedded database, and only notifies when the digest behind a tag actually changes.

What it watches

  • Providers for Docker, Docker Swarm, containerd, Kubernetes, Nomad and a plain file list, so a home server and a cluster can share one notifier
  • Watch every container, only the running ones, or an explicit list, with include and exclude filters on image names and tags, regex included
  • Tag selection rules — semver, lexicographical or reverse-alphabetical ordering, a cap on how many tags per image are followed, and prereleases only when you ask for them
  • Private registries: per-registry credentials, TLS and insecure options, and per-registry selection rules, on top of anonymous Docker Hub, GHCR and Quay access

Notifications it sends

Alerts go to the services you already use: Discord, Slack, Teams, Telegram, Gotify, Ntfy, Pushover, Matrix, MQTT, AMQP, Rocket.Chat, SMTP mail, Signal through its REST bridge, generic webhooks, Apprise or a custom script. Notification templates are configurable, so a message can carry the image, the registry, the old and new digests, and links of your own.

Running it

The documented install is a container with the Docker socket mounted read-only and a diun.yml: docker run --rm -v /var/run/docker.sock:/var/run/docker.sock:ro -v ./diun.yml:/diun.yml:ro crazymax/diun serve. State lives under /data, so mount a volume there to keep the record of seen images across restarts. A cron expression in the configuration sets how often it checks, and Diun also exposes a gRPC server with a standard health endpoint for orchestrators that want to probe it.

Diun only reports — it never pulls or restarts anything. Pair it with an updater such as WUD (What’s Up Docker?), or leave the restart manual and treat the notification as the trigger.

Licence

MIT. Free and open source, and self-hostable: the binary and the image are yours to run wherever you like.

Explore More Categories

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.