27-01-2024, 06:30 PM
A la hora de actualizar los contenedores que tengamos instalados en el nas podemos hacer uso de Watchtower que lo hace automáticamente y sin intervención por parte nuestra: https://www.qnapclub.es/showthread.php?tid=4885
También existe la posibilidad de instalar otros sistemas que no actualizan pero si notifican la existencia de actualizaciones de los contenedores.
Lo que voy a pasar a explicar a continuación sería el punto intermedio entre los dos sistemas anteriores, es decir, notifica las actualizaciones y a continuación si se quiere se puede actualizar, todo ello desde Telegram. Aparte de lo anterior también desde Telegram podemos obtener lo siguiente:
Listar contenedores
Arrancar, parar y eliminar contenedores
Obtener los logs tanto de manera directa como a través de fichero
Extraer el docker-compose de tus contenedores
Notificaciones cuando un contenedor se cae o se inicia
Lo primero que tenemos que hacer es crear un bot de Telegram exclusivo para este propósito tal como se explica aquí:
https://www.qnapclub.es/showthread.php?tid=3968
A continuación vamos a crear en el nas un nuevo contenedor y lo haremos con Docker Compose sea a través de Container Station o por medio de un Stack en Portainer, los parámetros son los siguientes:
version: '3.3'
services:
docker-controller-bot:
environment:
- TELEGRAM_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXX
- TELEGRAM_ADMIN=XXXXXXXXXX
- CONTAINER_NAME=docker-controller-bot
- CHECK_UPDATES=1
- CHECK_UPDATE_EVERY_HOURS=12
volumes:
- /var/run/docker.sock:/var/run/docker.sock
image: dgongut/docker-controller-bot:latest
container_name: docker-controller-bot
network_mode: host
restart: always
tty: true
En el apartado TELEGRAM TOKEN pondremos el Token del bot de Telegram creado anteriórmente.
En el apartado TELEGRAM ADMIN pondremos el Chat ID del bot de Telegram
El apartado CHECK UPDATE EVERY HOURS está configurado para que cada 12 horas busque actualizaciones de los contenedores que tengamos instalados pero lógicamente se puede cambiar por otro valor distinto.
Una vez instalado el contenedor en el nas en nuestro bot de Telegram nos aparece lo siguiente:
Como he comentado anteriórmente el docker busca actualizaciones de los contenedores que tengamos instalados cada 12 horas, si existe una o varias actualizaciones las notifica al bot de Telegram y si queremos podemos dar la orden de actualizar desde el propio bot:
Os pongo una captura del log del contenedor en la que se puede ver como busca actualizaciones, si encuentra alguna lo notifica al bot de Telegram y si se ha dado la orden de actualización desde el bot cómo se efectúa ese proceso:
También existe la posibilidad de instalar otros sistemas que no actualizan pero si notifican la existencia de actualizaciones de los contenedores.
Lo que voy a pasar a explicar a continuación sería el punto intermedio entre los dos sistemas anteriores, es decir, notifica las actualizaciones y a continuación si se quiere se puede actualizar, todo ello desde Telegram. Aparte de lo anterior también desde Telegram podemos obtener lo siguiente:
Listar contenedores
Arrancar, parar y eliminar contenedores
Obtener los logs tanto de manera directa como a través de fichero
Extraer el docker-compose de tus contenedores
Notificaciones cuando un contenedor se cae o se inicia
Lo primero que tenemos que hacer es crear un bot de Telegram exclusivo para este propósito tal como se explica aquí:
https://www.qnapclub.es/showthread.php?tid=3968
A continuación vamos a crear en el nas un nuevo contenedor y lo haremos con Docker Compose sea a través de Container Station o por medio de un Stack en Portainer, los parámetros son los siguientes:
version: '3.3'
services:
docker-controller-bot:
environment:
- TELEGRAM_TOKEN=XXXXXXXXXXXXXXXXXXXXXXXXXX
- TELEGRAM_ADMIN=XXXXXXXXXX
- CONTAINER_NAME=docker-controller-bot
- CHECK_UPDATES=1
- CHECK_UPDATE_EVERY_HOURS=12
volumes:
- /var/run/docker.sock:/var/run/docker.sock
image: dgongut/docker-controller-bot:latest
container_name: docker-controller-bot
network_mode: host
restart: always
tty: true
En el apartado TELEGRAM TOKEN pondremos el Token del bot de Telegram creado anteriórmente.
En el apartado TELEGRAM ADMIN pondremos el Chat ID del bot de Telegram
El apartado CHECK UPDATE EVERY HOURS está configurado para que cada 12 horas busque actualizaciones de los contenedores que tengamos instalados pero lógicamente se puede cambiar por otro valor distinto.
Una vez instalado el contenedor en el nas en nuestro bot de Telegram nos aparece lo siguiente:
Como he comentado anteriórmente el docker busca actualizaciones de los contenedores que tengamos instalados cada 12 horas, si existe una o varias actualizaciones las notifica al bot de Telegram y si queremos podemos dar la orden de actualizar desde el propio bot:
Os pongo una captura del log del contenedor en la que se puede ver como busca actualizaciones, si encuentra alguna lo notifica al bot de Telegram y si se ha dado la orden de actualización desde el bot cómo se efectúa ese proceso: