π Documentation β’ π Quick Start β’ βοΈ Configuration β’ π Triggers β’ π¦ Registries β’ π οΈ Contributing β’ π¬ Issues & Support
WUD (What's Up Docker?) is a lightweight, proactive container update monitoring and automation tool. It continuously scans your container environments, detects image updates across public and private registries, performs semantic version analysis, and alerts you via your favorite notification channelsβor triggers automatic container updates seamlessly.
flowchart LR
W["π <b>WATCHERS</b><br/>Discover running containers<br/><i>Local/Remote Docker, Compose, Nomad</i>"]
WUD{{"β‘ <b>WUD ENGINE</b><br/>Compare versions & digests"}}
R["π¦ <b>REGISTRIES</b><br/>Inspect tags & manifests<br/><i>Docker Hub, GHCR, Private OCI</i>"]
T["π <b>TRIGGERS</b><br/>Notify & Auto-Update<br/><i>Discord, Slack, Compose, MQTT</i>"]
W -->|"Scan"| WUD
WUD <-->|"Inspect"| R
WUD -->|"Execute"| T
- π Multi-Watcher Engine
Monitor local Docker daemons, remote Docker engines over TLS, Docker Compose setups, or HashiCorp Nomad workloads. - π¦ Multi-Registry Integration
Zero-config & authenticated support for Docker Hub, GitHub Container Registry (GHCR), AWS ECR, Google GCR/GAR, Azure ACR, Quay, GitLab, Gitea, Forgejo, Codeberg, LinuxServer (LSCR), and any custom/self-hosted OCI registry. - π 30+ Notification & Automation Triggers
Discord, Matrix, Mattermost, Zulip, Telegram, Slack, Signal, WhatsApp, Bark, Prowl, Home Assistant, Gotify, Ntfy, Pushover, Apprise, Webhooks, Kafka, AMQP/RabbitMQ, NATS, Opsgenie, PagerDuty, Uptime Kuma, GitHub Actions, GitLab CI, SMTP email, shell scripts, and native Docker / Compose / Nomad auto-updaters. - π Automated Container Updates
Automatically pull new images and recreate containers on demand (Docker, Docker Compose, Nomad). - π·οΈ SemVer & Tag Filtering
Flexible versioning strategies: targetsemver(major, minor, patch), match custom regular expressions, pin versions, or define include/exclude tag rules. - π₯οΈ Interactive Web UI & REST API
Clean, responsive web dashboard to inspect container statuses, trigger manual update checks, and query data via a full-featured REST API. - π Prometheus & Grafana Ready
Built-in Prometheus/metricsendpoint and pre-built Grafana dashboards for observability. - π Enterprise-Grade Authentication & RBAC
Role-Based Access Control (admin,rw,ro), database-backed user management, personal API tokens, and single sign-on with OpenID Connect (OIDC) (Keycloak, Authentik, Authelia, etc.) or local accounts.
docker run -d \
--name wud \
-p 3000:3000 \
-e WUD_AUTH_ADMIN_USER="admin" \
-e WUD_AUTH_ADMIN_PASSWORD="MySecurePassword123" \
-v /var/run/docker.sock:/var/run/docker.sock \
getwud/wud:latestservices:
whatsupdocker:
image: getwud/wud:latest
container_name: wud
ports:
- "3000:3000"
environment:
- WUD_AUTH_ADMIN_USER=admin
- WUD_AUTH_ADMIN_PASSWORD=MySecurePassword123
volumes:
- /var/run/docker.sock:/var/run/docker.sock
restart: unless-stoppedπ Access the Web UI: Open
http://localhost:3000in your browser (login withadmin/MySecurePassword123).
| Registry | Description | Authentication |
|---|---|---|
| Docker Hub | Public and private Docker Hub images | Anonymous / Token / Password |
| GitHub (GHCR) | GitHub Container Registry packages | Personal Access Token |
| AWS ECR | Amazon Elastic Container Registry | AWS IAM Keys / IAM Roles |
| Google GCR / Artifact Registry | GCP Container & Artifact Registry | Service Account Key (JSON) |
| Azure ACR | Azure Container Registry | Service Principal / Admin Secret |
| GitLab Registry | GitLab Container Registry | Deploy Token / PAT |
| Quay.io | Red Hat Quay | Robot Account / OAuth Token |
| Self-Hosted / OCI | Harbor, Nexus, Artifactory, Gitea, Forgejo, Codeberg | Basic Auth / Bearer Token |
| Category | Supported Channels |
|---|---|
| Chat & Messaging | Discord, Matrix, Mattermost, Signal, Telegram, Slack, Rocket.Chat, WhatsApp, Zulip |
| Push Notifications & Alerting | Bark, Gotify, IFTTT, Ntfy, Opsgenie, PagerDuty, Prowl, Pushover, Apprise |
| Auto-Update & Orchestration | Docker Container, Docker Compose, HashiCorp Nomad |
| IoT & Message Queues | AMQP (RabbitMQ), Apache Kafka, MQTT (Home Assistant auto-discovery), NATS |
| Automation & Custom | GitHub Actions, GitLab CI, Home Assistant (Webhook), HTTP Webhooks, Shell Command Execution, SMTP Email, Uptime Kuma |
WUD can be configured globally through environment variables or granularly per container using Docker labels:
services:
my-app:
image: myorg/myapp:1.2.0
labels:
# Only consider semver minor and patch updates (e.g. 1.2.1, 1.3.0, but not 2.0.0)
- "wud.tag.include=^1\\.\\d+\\.\\d+$"
- "wud.tag.transform=^v(.*)$$ => $$1"
# Send update notifications to a specific Discord webhook
- "wud.trigger.discord.mywebhook.enabled=true"
# Automatically recreate this container when an update is available
- "wud.trigger.docker.myupdater.enabled=true"Explore all configuration options in the Configuration Hub.
For complete setup guides, advanced configurations, tutorials, and API references, check out our official documentation:
π https://getwud.github.io/wud/
- π Getting Started & Tutorials
- βοΈ Configuration Reference
- π Docker Watcher & TLS
- π¦ Registry Authentication
- π Triggers & Automation Setup
- π Prometheus & Grafana Monitoring
- π REST API Reference
- β Frequently Asked Questions (FAQ)
- π οΈ Want to contribute? Read our Developer & Contributing Guide.
- π Found a bug or need a feature? Submit an Issue.
- β Like WUD? Give us a star on GitHub!
- β Support the maintainer: Buy me a coffee or Donate via PayPal.
This project is open-source software licensed under the MIT License.
