Diun (Docker Image Update Notifier)

Diun (Docker Image Update Notifier) watches your container images and alerts you when a new tag or digest is available in Docker Hub or other OCI-compatible registries. It does not auto-update containers; it simply notifies so you can plan, test, and roll out updates on your own schedule.

It is aimed at operators who run Docker-compatible hosts—from home labs and NAS devices to small servers—and want update visibility without automation risk. Diun runs as a lightweight service (container or binary), supports private registries, and integrates with common notification channels.

Use Cases

  • Home lab and single-host setups that prefer manual updates but still want timely alerts.
  • Small teams maintaining multiple services who need selective monitoring via Docker labels (for example, label a container with diun.enable=true).
  • Environments using private registries that need authenticated scans to avoid anonymous rate limits.
  • Workflows that route alerts to existing channels (email, webhooks, push, Healthchecks.io) so the right person sees update notices.
  • Operators who want to monitor the monitor—using healthchecks to know if Diun itself stops scanning.

Strengths

  • Image monitoring and update detection: Compares running images to registry tags/digests to surface new versions.
  • Operator control: Notifies instead of auto-updating, supporting deliberate, staged rollouts.
  • Rich notification options: Email, Pushover, webhooks, Healthchecks.io, and others to fit existing alerting flows.
  • Label-based filtering: Include/exclude specific containers with Docker labels to reduce noise.
  • Registry coverage: Works with Docker Hub and other OCI registries; supports authenticated access for private images.
  • Configurable scheduling: Tune scan frequency to balance freshness with rate limits and resource use.
  • Templateable messages: Customize notifications with image name, tag, digest, and links to release notes.
  • Healthchecks and self-monitoring: Alerts if Diun fails or stops running.
  • Flexible configuration: Files and environment variables suit containerized deployment and automation.
  • Open-source and lightweight: Go-based, easy to run on modest hardware (including some NAS devices).

Limitations

  • Potential noise: Tag/digest changes can trigger alerts even for minor or irrelevant updates without proper filtering.
  • Registry limits and quirks: Aggressive schedules or many images may hit Docker Hub rate limits or registry-specific behavior; use credentials and adjust frequency.
  • Config changes across versions: Major upgrades (e.g., v4) may require config migration and testing.
  • Not Kubernetes-native: Best for standalone Docker hosts; Kubernetes users may prefer cluster-oriented operators for automated rollouts.
  • Operational edge cases: Community reports mention timeouts with some providers and occasional high CPU; validate your configuration and monitor Diun itself.

Final Thoughts

  • If you want awareness of image releases without automatic changes, Diun is a practical, low-friction choice.
  • Start with a conservative schedule (e.g., hours, not minutes), enable authenticated registry access, and scope monitoring via labels to avoid noise.
  • Template notifications to include digest and release notes, and send alerts to channels your team already uses.
  • Add a healthcheck to detect Diun failures, and test notification providers before relying on them in production.
  • Before upgrading major versions, back up your config and review migration notes.

References