====== Diun ====== **Diun** (//Docker Image Update Notifier//) es una herramienta que vigila las imágenes [[..:sistemas_operativos:virtualizacion:docker|Docker]] que estás usando y te avisa cuando hay nuevas versiones disponibles. Diun no actualiza contenedores, solo avisa de que hay nuevas versiones. Luego tú decides actualizar (a diferencia de herramientas como Watchtower). * [[https://crazymax.dev/diun/|Sitio web y documentación]] * [[https://github.com/crazy-max/diun|Repositorio de código]] {{ https://raw.githubusercontent.com/crazy-max/diun/refs/heads/master/.res/screenshot.png |}} ===== Instalación ===== ==== Docker ==== Ejemplo de Docker Compose: name: diun services: diun: image: crazymax/diun:latest command: serve volumes: - "./data:/data" - "/var/run/docker.sock:/var/run/docker.sock" environment: - "TZ=Europe/Madrid" - "DIUN_WATCH_WORKERS=20" - "DIUN_WATCH_SCHEDULE=0 */6 * * *" - "DIUN_WATCH_JITTER=30s" - "DIUN_PROVIDERS_DOCKER=true" - "DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=true" labels: - "diun.enable=true" restart: always Variables de entorno: * ''DIUN_WATCH_SCHEDULE'': indica la frecuencia de comprobación. Sigue el formato de [[..:sistemas_operativos:linux:cron|cron]]. En el ejemplo de arriba, sería cada 6 horas. * ''DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT''. Hace que vigile automáticamente todos los contenedores. Si se pone a ''false'', habría que marcar contenedores con ''labels''. ===== Notificaciones ===== ==== Telegram ==== Ejemplo en el fichero Docker Compose: environment: # Telegram notifications DIUN_NOTIF_TELEGRAM_TOKEN: "123456789:AAGVEr3FF12345aoGl_y3AAAAAqm8F3qxM" DIUN_NOTIF_TELEGRAM_CHATIDS: "1234567" DIUN_NOTIF_TELEGRAM_TEMPLATEBODY: | 🚀 *Actualización imagen Docker* 📦 *Imagen:* `{{ .Entry.Image }}` 📦 *Contenedor:* `{{ .Meta.ID }}` (ID) - `{{ .Meta.Name }}` (Nombre) 🔔 *Estado:* {{ .Entry.Status }} {{ if .Entry.Image.HubLink }} 🔗 {{ .Entry.Image.HubLink }} {{ end }} ==== Pruebas ==== Entramos en el contenedor: docker compose exec -it diun sh Ejecutamos: diun notif test Usará el método de notificación que hayamos configurado y enviará una notificación a través de él.