Two improvements driven by @NotRetarded's feedback in #2.
Fixed
Self-update notifications now reach Discord and webhook channels
Closes #19. All four self-update notification sites — manual /selfupdate, the two check_selfupdate_auto paths, and the post-restart "checking your containers" message — were calling only bot.send_message() (Telegram-only) without a parallel notifier.send_message() call. Headless users (Web UI + Discord/webhook, no Telegram) got no visibility into self-updates at all.
Added
Container names in update notifications are clickable links (WhatsUpDocker-style)
Closes #20. Each container in an "Updates Available" notification is now wrapped in a markdown link pointing at the source repo / changelog / registry page so you can preview release notes before deciding to apply.
Resolution chain (first match wins):
- Manual override — per-container text field on the Web UI Container Detail page (next to the existing Note field)
org.opencontainers.image.sourceOCI label (works out of the box for AdGuard Home, n8n, GitLab, paperless-ngx, open-webui, …)org.opencontainers.image.urlOCI label (fallback to product page)- Registry-overview heuristic — Docker Hub
_/<image>, ghcr.io / quay.io / lscr.io → fleet.linuxserver.io (covers redis, postgres, jc21/nginx-proxy-manager, lscr.io/linuxserver/sonarr, …)
Coverage across all three notification surfaces:
| Surface | Where the link appears |
|---|---|
| Telegram | [name](url) inline with the container row
|
| Discord | [Source ↗](url) line appended to each embed field's value
|
| Generic webhook | New source_url field per container in the JSON payload
|
Auto-detection re-uses the v1.18.3 /changelog <container> helpers, so OCI-labelled images get the feature for free. Manual override stored in /data/container_links.json lets users fill the gaps for popular labelless images.
docker pull amayer1983/docksentry:latest
docker compose up -d