Watchtower: Habilitar notificaciones con Telegram
Hace unos días os hablé de Watchtower, un proyecto que tiene como principal fin mantener actualizados nuestros contenedores con Docker.. En mi caso me interesa que cada vez que actualice uno de los contenedores, el sistema me avise de alguna manera. Y que mejor manera de recibir los avisos que mediante un mensaje de Telegram.
Notificaciones de Watchtower con Telegram
Para conseguir recibir mensajes Watchtower utiliza un ayudante llamado «shoutrr» que se utiliza para enviar notificaciones, a través de varios canales y aplicaciones diferentes, incluido Telegram. Para poder utilizarlo debemos tener creado previamente un bot de Telegram. Si no sabes como hacerlo, el amigo Lorenzo, alias Atareao, te explica como: «Exprimiendo Telegram. Crea tu propio bot para Telegram«
Entiendo que si utilizas Docker, ya sabes lo que es un fichero «docker-compose«. Para poder recibir notificaciones lo debemos dejar similar a esta configuración:
version: '3.3' services: watchtower: image: containrrr/watchtower container_name: watchtower restart: unless-stopped volumes: - '/var/run/docker.sock:/var/run/docker.sock' environment: - TZ=Europe/Madrid - WATCHTOWER_LIFECYCLE_HOOKS=1 - WATCHTOWER_NOTIFICATIONS=shoutrrr - WATCHTOWER_NOTIFICATION_URL=telegram://$BOT_TOKEN@telegram/?channels=$CHAT_ID
En la parte final, tenemos que cambiar la variable «BOT_TOKEN», por el token que se nos ha dado al crear el bot, y después indicar el «CHAT_ID» del chat. Para obtener el ID del chat, podemos seguir estas instrucciones.
Si la configuración es correcta, se debería recibir un mensaje similar al siguiente:
También podemos consultar el registro de actividad del contenedor:
De esta manera cada vez que Watchtower realice una tarea de actualización recibiremos un mensaje al respecto. Si deseamos recibir un mensaje en otra plataforma, como por ejemplo Discord o Slack, podemos consultar este enlace. En la entrada anterior también os expliqué como recibir notificaciones por correo electrónico.