3.2 DIUN. Notificador de nuevas imágenes
Esta herramienta sirve para...
enterarnos cuando una nueva imagen (para docker) está disponible. DIUN son las siglas de Docker Image Update Notifier.
Imagen obtenida de https://crazymax.dev/diun/
Web de proyecto y otros enlaces de interés
Web del proyecto: https://crazymax.dev/diun/
Repositorio de código: https://github.com/crazy-max/diun
Puesta en marcha
Si bien hay varios modos de desplegar el servicio DIUN nosotros, en este curso, vamos a optar por hacerlo a través de docker-compose pues creo es el modo mas sencillo en el que podemos hacer convivir varios servicios sin que unos acepten a otros. Para ello accedemos al terminal y escribimos lo siguiente:
cd $HOME
mkdir diun
cd diun
nano docker-compose.yml
Dentro del fichero escribimos el siguiente contenido
version: "3.5"
services:
diun:
image: crazymax/diun:latest
container_name: diun
command: serve
volumes:
- "./data:/data"
- "./diun.yml:/diun.yml:ro"
- "/var/run/docker.sock:/var/run/docker.sock"
environment:
- "TZ=Europe/Madrid"
- "LOG_LEVEL=info"
- "LOG_JSON=false"
restart: always
Para salir del fichero pulsaremos control + x
y guardaremos los cambios. Posteriormente ponemos en marcha los contenedores con docker-compose up -d
Aparecerá en pantalla algo similar a
Elaboración propia
Y, si queremos, podemos ejecutar docker ps | grep diun
para comprobar si entre todos los contenedores docker en ejecución hay alguno con el nombre diun. Veremos algo similar a
Elaboración propia
De acuerdo a la documentación sobre comandos que aparece en https://crazymax.dev/diun/usage/command-line/ podemos ejecutar cualquiera de los comandos que ahí aparecen ejecutando docker exec diun comando
por ejemplo docker exec diun diun image list
que nos mostrará algo similar a
Elaboración propia
De todos modos, lo interesante de esta herramienta es que sea ella misma quién nos notifique cuando hay una nueva imagen sin necesidad de que nosotros/as ejecutemos nada. Para ello hay que configurar las notificaciones de acuerdo a la documentación que aparece aquí https://crazymax.dev/diun/config/notif/ ¡Vamos allá! En la terminal escribiremos:
cd $HOME/diun
nano diun.yml
Dentro del fichero, que será en el cual establezcamos los métodos de notificación, escribimos el siguiente contenido:
watch:
workers: 20
schedule: "0 */6 * * *"
firstCheckNotif: false
providers:
docker:
watchByDefault: true
notif:
mail:
host: localhost
port: 25
ssl: false
insecureSkipVerify: false
from: pabloruixxxia@gmail.com
to:
- pabloruixxxia@gmail.com
templateTitle: "{{ .Entry.Image }} released"
templateBody: |
Docker tag {{ .Entry.Image }} which you subscribed to through {{ .Entry.Provider }} provider has been released.
telegram:
token: xxxxxx
chatIDs:
- xxxxxx
templateBody: |
Docker tag {{ .Entry.Image }} which you subscribed to through {{ .Entry.Provider }} provider has been released.
A continuación reiniciamos el contenedor con los comandos
cd $HOME/diun
docker-compose down
docker-compose up -d
Para salir del fichero pulsaremos control + x
, guardaremos los cambios y ¡et voilà! ya están configuradas las notificaciones para Telegram y email. Deberás cambiar los valores a tus valores y establecer solo aquellos servicios a través de los que quieres que se te notifique.