====== 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.