homelab-blueprint/docs
Claude 8d2a1c8029 feat: replace Watchtower with Diun for update monitoring
Replaced Watchtower (auto-updater) with Diun (notification-only) for
safer update management in production environments.

Why the change:
- Watchtower auto-updates can break production systems
- Discord webhook integration was problematic with Watchtower
- Diun provides notifications without auto-updating (safer)
- Diun uses Discord webhook URLs directly (no Shoutrrr conversion)
- Better control over when and how updates are applied

Changes in arr-stack_template.yaml:
- Removed watchtower service completely
- Added diun service using crazymax/diun:latest
- Configured Diun to use socket-proxy for Docker API access
- Added diun.enable=true labels to 11 monitored services:
  * gluetun, qbittorrent, flaresolverr, sabnzbd
  * prowlarr, radarr, sonarr, bazarr
  * emby, jellyseerr, recyclarr
- Diun configured with:
  * Watch by default: false (only labeled containers)
  * Discord notifications with render fields
  * Schedule-based checking
  * Memory limit: 128M (vs Watchtower's 256M)

Changes in .env.sample:
- Removed all Watchtower environment variables:
  * WATCHTOWER_SCHEDULE
  * WATCHTOWER_NOTIFICATION_URL
  * WATCHTOWER_SCOPE
  * WATCHTOWER_LABEL_ENABLE
- Added Diun configuration:
  * DIUN_WATCH_SCHEDULE (cron format)
  * DIUN_DISCORD_WEBHOOK_URL (direct Discord URL!)
- Added clear documentation:
  * Discord webhook URL used directly - NO conversion needed
  * Example: https://discord.com/api/webhooks/ID/TOKEN
  * Default schedule: every 6 hours (0 */6 * * *)

Documentation updates:
- Created comprehensive docs/DIUN.md guide:
  * Why Diun over Watchtower comparison table
  * Step-by-step Discord webhook setup
  * NO Shoutrrr conversion required!
  * Other notification providers
  * Label-based monitoring
  * Troubleshooting guide
  * Migration guide from Watchtower
  * Security benefits with socket-proxy
- Deleted docs/WATCHTOWER.md
- Updated README.md:
  * Replaced all Watchtower references with Diun
  * Updated troubleshooting section
  * Updated best practices
  * Updated documentation links
  * Fixed example commands (docker logs diun)

Key Benefits:
1. Safer: Notifications only, you control when to update
2. Simpler: Discord webhooks work directly (no format conversion)
3. Flexible: Label-based control over what to monitor
4. Lighter: Uses less memory (128M vs 256M)
5. Professional: Better for production environments

Discord Webhook Comparison:
- Watchtower: discord://TOKEN@ID (Shoutrrr format, complex)
- Diun: https://discord.com/api/webhooks/ID/TOKEN (direct, simple)

Migration path:
1. Remove watchtower from compose
2. Update .env with DIUN_ variables
3. Use Discord webhook URL directly
4. Regenerate compose file
5. Deploy with docker-compose up -d

Breaking change: Users must update .env file
- Replace WATCHTOWER_* variables with DIUN_* variables
- Use Discord webhook URL directly (simpler!)

Fixes: Watchtower Discord notification issues
Improves: Update management safety
Tested: YAML validation passed, 11 services monitored
User impact: Must update .env and regenerate compose files
2025-11-23 16:21:12 +00:00
..
DIUN.md feat: replace Watchtower with Diun for update monitoring 2025-11-23 16:21:12 +00:00
IMPROVEMENTS.md docs: reorganize documentation and add recyclarr config template 2025-11-23 12:25:55 +00:00
RECYCLARR.md docs: reorganize documentation and add recyclarr config template 2025-11-23 12:25:55 +00:00
SOCKET_PROXY.md docs: reorganize documentation and add recyclarr config template 2025-11-23 12:25:55 +00:00
TROUBLESHOOTING.md docs: reorganize documentation and add recyclarr config template 2025-11-23 12:25:55 +00:00