Container Labels
Container labels allow you to customize WUD behavior on a per-container basis by attaching wud.* labels directly to your Docker or Compose services.
Available Labels
Custom display icon for the container in the UI and integrations
Custom display name for the container in notifications and UI
Browsable URL template for changelogs and release notes
Regular expression matching image tags to ignore
Regular expression matching image tags to consider as update candidates
Transform rule to extract clean semver versions from non-standard tags
List of triggers to exclude for this container
List of triggers to include for this container
Enable or disable monitoring for this container
Track digest changes on registry for mutable tags (e.g. latest)
Practical Examples
1. Opt-in Monitoring (Monitor Only Selected Containers)
Set WUD_WATCHER_{watcher_name}_WATCHBYDEFAULT=false in your WUD configuration:
- Docker Compose
- Docker
services:
whatsupdocker:
image: getwud/wud
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
environment:
- WUD_WATCHER_LOCAL_WATCHBYDEFAULT=false
docker run -d \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-e WUD_WATCHER_LOCAL_WATCHBYDEFAULT="false" \
getwud/wud
Then add wud.watch=true only to the containers you want to monitor:
- Docker Compose
- Docker
services:
mariadb:
image: mariadb:10.4.5
labels:
- wud.watch=true
docker run -d --name mariadb --label wud.watch=true mariadb:10.4.5
2. Exclude Specific Containers
When WATCHBYDEFAULT=true (the default), you can exclude specific containers with wud.watch=false:
- Docker Compose
- Docker
services:
legacy_app:
image: myapp:1.0.0
labels:
- wud.watch=false
docker run -d --name legacy_app --label wud.watch=false myapp:1.0.0
3. Filter Tags with Regular Expressions
You can filter which tags are considered valid candidates for updates by specifying inclusion or exclusion regex patterns.
For example, to monitor only standard x.y.z 3-part semver tags (ignoring alpine, beta, etc.):
- Docker Compose
- Docker
services:
mariadb:
image: mariadb:10.4.5
labels:
- wud.tag.include=^\d+\.\d+\.\d+$$
docker run -d --name mariadb --label 'wud.tag.include=^\d+\.\d+\.\d+$' mariadb:10.4.5
4. Transform Non-Standard Tags Before Semver Analysis
In certain cases, image tags include metadata suffixes (such as commit hashes or build numbers) like 1.0.0-99-7b368146 or 1.0.0-273-21d7efa6.
By default, the trailing SHA-1 hash (-7b368146) interferes with comparison, even though 1.0.0-99 represents a valid semver version ($major.$minor.$patch-$prerelease).
Syntax
$valid_regex_with_capturing_groups => $valid_string_with_placeholders
Capturing groups are referenced using $1, $2, etc.
- Docker Compose
- Docker
services:
searx:
image: searx/searx:1.0.0-269-7b368146
labels:
- wud.tag.include=^\d+\.\d+\.\d+-\d+-.*$$
- wud.tag.transform=^(\d+\.\d+\.\d+-\d+)-.*$$ => $$1
docker run -d --name searx \
--label 'wud.tag.include=^\d+\.\d+\.\d+-\d+-.*$' \
--label 'wud.tag.transform=^(\d+\.\d+\.\d+-\d+)-.*$ => $1' \
searx/searx:1.0.0-269-7b368146
5. Enable Digest Watching
In addition to semver tag tracking, you can track whether the remote image digest for a mutable tag (such as latest, 10, or stable) has changed on the registry:
- Docker Compose
- Docker
services:
redis:
image: redis:alpine
labels:
- wud.watch.digest=true
docker run -d --name redis --label wud.watch.digest=true redis:alpine
6. Link Container Versions to Changelogs / Release Notes
You can generate a direct clickable link to release notes using a URL template:
The available template variables are:
${original}: The original unparsed tag${transformed}: The tag after applyingwud.tag.transform${major}: Major version number${minor}: Minor version number${patch}: Patch version number${prerelease}: Prerelease identifier
- Docker Compose
- Docker
services:
mariadb:
image: mariadb:10.6.4
labels:
- wud.link.template=https://mariadb.com/kb/en/mariadb-$${major}$${minor}$${patch}-changelog
docker run -d --name mariadb \
--label 'wud.link.template=https://mariadb.com/kb/en/mariadb-${major}${minor}${patch}-changelog' \
mariadb:10.6.4
7. Customize Display Name & Icon
Customize how containers appear in the WUD Web UI and smart home integrations (e.g. Home Assistant):
Supported Icons
WUD supports the full Iconify catalog (over 150,000+ open-source icons across 150+ collections) using the standard collection:icon-name format:
mdi:for Material Design Icons (mdi:database,mdi:docker)simple-icons:(orsi:) for Simple Icons (simple-icons:mysql,si:mariadb)selfhst:(orsh:) for Selfh.st Icons (selfhst:authentik,selfhst:jellyfin)logos:for SVG Logos (logos:redis,logos:postgresql)fa6-solid:,fa6-regular:,fa6-brands:(orfa:,fas:,far:,fab:) for Font Awesome (fa6-brands:github,fa:heart)- Any other collection from Icon-sets (e.g.
lucide:,tabler:,devicon:, etc.)
:::info Legacy Prefixes & Backward Compatibility
- Legacy prefixes (
mdi-,si-,sh-,fa-,fab:, etc.) are automatically normalized. - The
hl:andhl-(Homarr) prefix is deprecated and automatically mapped toselfhst:. - Specifying an icon name without any prefix (e.g.
mariadb) defaults tosimple-icons:mariadb. :::
- Docker Compose
- Docker
services:
mariadb:
image: mariadb:10.6.4
labels:
- wud.display.name=Production MariaDB
- wud.display.icon=si:mariadb
docker run -d --name mariadb \
--label 'wud.display.name=Production MariaDB' \
--label 'wud.display.icon=si:mariadb' \
mariadb:10.6.4
8. Assign Specific Triggers & Thresholds
Route notifications or auto-updates for a specific container to designated triggers:
Threshold Levels
all: Triggers on all updates (semver & digest).major: Triggers onmajor,minor, orpatchupdates.minor: Triggers only onminororpatchupdates.patch: Triggers only onpatchupdates.
Example: Send Email for All Updates, Auto-Update on Minor/Patch Only
- Docker Compose
- Docker
services:
web_app:
image: web_app:1.2.0
labels:
- wud.trigger.include=smtp.gmail,dockercompose.local:minor
docker run -d --name web_app \
--label 'wud.trigger.include=smtp.gmail,dockercompose.local:minor' \
web_app:1.2.0