• 1 voto(s) - 5 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Actualizar automáticamente nuestros contenedores con Watchtower
#1
Watchtower es un programa que lo que hace es comprobar cada 24 horas la existencia o no de actualizaciones de los contenedores que tengamos instalados en nuestro nas, en el caso de que las hubiera el solito y de manera totálmente desatendida se encarga de descargarlas e instalarlas y lo mejor de todo es que lo hace de tal forma que NO MODIFICA NI ALTERA ninguna configuración que tengamos hecha en nuestros contenedores. La instalación de este contenedor es muy sencilla:

1: Accedemos al Panel de Control de nuestro nas y activamos el SSH

   

2: En un ordenador Windows - Linux abrimos un terminal para acceder por ssh a nuestro nas. Tenemos que poner nuestro nombre de usuario en el nas junto con la ip local de acceso al nas, en mi caso sería así: ssh yeraycito@192.168.1.3      Una vez puesto eso nos pide la contraseña de acceso al nas así que se la ponemos:

   

Ahora tenemos que poner los comandos de instalación del contenedor, son los siguientes ( haced un copia-pega ):

docker run --detach \
--name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
--restart always \
containrrr/watchtower

   

Ejecutamos ese comando y en menos de 3 minutos veremos que habrá terminado la instalación y procedemos a cerrar el terminal. Ahora podemos ir a Container Station en nuestro nas y veremos que tenemos Watchtower instalado. FIN.

Este contenedor Watchtower NO TIENE INTERFAZ DE CONFIGURACION, es decir, una vez instalado NOS OLVIDAMOS DE EL. Como he dicho al principio una vez instalado en nuestro nas Watchtower se encarga de actualizarnos los contenedores que tengamos instalados en nuestro nas. Si después de instalar Watchtower instalamos nuevos contenedores watchtower los reconocerá sin problemas y sin que tengamos que hacer nada y procederá a actualizarlos cuando corresponda.

Para comprobar si Watchtower está funcionando bien lo tenemos muy fácil. En Container Station en el nas, en el apartado Images, veremos todas las imágenes de los contenedores que tengamos instalados en nuestro nas y junto a cada una de ellas veremos la fecha de su creación:

   

Una vez que hayan pasado unos dias o semanas después de haber instalado Watchtower al acceder a ese apartado de Container Station veremos que la fecha de creación de las imágenes habrán cambiado. El motivo será que habrá habido alguna actualización de alguno de los contenedores que tengamos y watchtower habrá descargado la nueva imagen y actualizado el contenedor, todo como he dicho al principio, sin alterar ni modificar ninguna configuración de los contenedores que tengamos.

A tener en cuenta: Este método es reálmente cómodo y util pero a alguno de vosotros es posible que no os guste la idea de que los contenedores se actualicen automáticamente, si es el caso lógicamente no lo vais a instalar. En mi caso tengo que decir que lo tengo instalado desde hace varias semanas y en ese tiempo Watchtower me ha actualizado varias veces mis contenedores siempre sin ningún problema.
  Responder
#2
Échale un ojo a este enlace si quieres que te avise por Telegram cada vez que actualice. https://www.marcodaleo.com/posts/watchtower-telegram/

U
n saludo.
  Responder
#3
(29-01-2023, 07:24 PM)Monipodio escribió: Échale un ojo a este enlace si quieres que te avise por Telegram cada vez que actualice. https://www.marcodaleo.com/posts/watchtower-telegram/

U
n saludo.

Lo sabía y de hecho lo tengo así configurado, lo que ocurre es que por no hacer el tutorial más complejo no lo he explicado. Aún así muchas gracias.
  Responder
#4
Según comentas el programa te descarga una imagen de la versión nueva de un docker que tienes corriendo o instalado, dejándolo en la sección imágenes
Pero para poder instalarlo en esa versión nueva , tengo que parar el docker actual y instalar esta imagen que me descargo el programa y configurar otra ver el docker nuevo entiendo ?
  Responder
#5
(01-02-2023, 08:25 PM)PedroSantoña escribió: Según comentas el programa te descarga una imagen de la versión nueva de un docker que tienes corriendo o instalado, dejándolo en la sección  imágenes
Pero para poder instalarlo en esa versión nueva , tengo que parar el docker actual y instalar esta imagen que me descargo el programa y configurar otra ver el docker nuevo entiendo ?

No, Watchtower descarga la nueva imagen, detiene el contenedor, lo actualiza creándolo nuevo con la nueva imagen descargada SIN MODIFICAR NI ALTERAR las configuraciones, lo pone en marcha y elimina la imagen antigua, todo el solito.

   

   

Incluso Watchtower se auto-actualiza a si mismo, le cuesta un poco más cosa lógica pero lo consigue hacer sin problemas:

   

Lo más importante, como digo, es que actualiza todos los contenedores que tengamos tanto actuales como posteriores a la instalación de Watchtower de forma totálmente automática y desatendida sin perder ni modificar ni alterar ninguna configuración que tengamos en esos contenedores.
  Responder
#6
Ok, muchas gracias
Lo mire ayer y tenía un docker actualizado el solo
  Responder
#7
Buenos días, lo he implementado pero parece que no funciona, me indica:

time="2023-11-28T11:57:23Z" level=info msg="Waiting for running update to be finished..."
time="2023-11-28T12:13:00Z" level=info msg="Watchtower 1.7.1"
time="2023-11-28T12:13:00Z" level=info msg="Using no notifications"
time="2023-11-28T12:13:00Z" level=info msg="Checking all containers (except explicitly disabled with label)"
time="2023-11-28T12:13:00Z" level=info msg="Scheduling first run: 2023-11-29 12:13:00 +0000 UTC"
time="2023-11-28T12:13:00Z" level=info msg="Note that the first check will be performed in 23 hours, 59 minutes, 59 seconds"

He esperado varios días, pero no parece que actualice.

Por otro lado, he probado la opción de ponerlo en otro con validación de telegram, pero no me la coge bien, he usado las Apis para otros Docker, pero en este me indica que no puede conectar. ¿Podríais ponerme un ejemplo, sin poner las vuestras claro está, de como sería?

El Bot_Token si lo tendría bien, creo que es el Chat_ID el que me falla. Gracias.

Código:
WATCHTOWER_NOTIFICATION_URL=telegram://BOT_TOKEN@telegram/?channels=CHAT_ID
  Responder
#8
Hola
A mi me ponía exactamente igual y al segundo día si que me actualizó 4 contenedores. Es posible que en tu caso no necesiten actualización. La putada es que de los cuatro, tres (home assistant, zigbee2mqtt y duckdns) me los actualizó sin ningún problema pero el otro (agentdvr) me desconfiguró la cámara que tenía y tuve que añadirla otra vez.
  Responder
#9
(28-11-2023, 02:18 PM)link__85 escribió: Buenos días, lo he implementado pero parece que no funciona, me indica:
time="2023-11-28T11:57:23Z" level=info msg="Waiting for running update to be finished..."
time="2023-11-28T12:13:00Z" level=info msg="Watchtower 1.7.1"
time="2023-11-28T12:13:00Z" level=info msg="Using no notifications"
time="2023-11-28T12:13:00Z" level=info msg="Checking all containers (except explicitly disabled with label)"
time="2023-11-28T12:13:00Z" level=info msg="Scheduling first run: 2023-11-29 12:13:00 +0000 UTC"
time="2023-11-28T12:13:00Z" level=info msg="Note that the first check will be performed in 23 hours, 59 minutes, 59 seconds"
He esperado varios días, pero no parece que actualice.
Por otro lado, he probado la opción de ponerlo en otro con validación de telegram, pero no me la coge bien, he usado las Apis para otros Docker, pero en este me indica que no puede conectar. ¿Podríais ponerme un ejemplo, sin poner las vuestras claro está, de como sería?
El Bot_Token si lo tendría bien, creo que es el Chat_ID el que me falla. Gracias.




La variable para watchtower que has puesto para las notificaciones por telegram es correcta, tan sólo tienes que poner el Token de tu bot y su Chat ID, lógicamente sólo tu puedes saber si esos datos son correctos, por otro lado aunque los pongas bien no te va a conectar para enviarte notificaciones porque te falta otra variable que es la siguiente: 


WATCHTOWER_NOTIFICATIONS=shoutrrr

La otra variable sería esta:     

WATCHTOWER_NOTIFICATION_URL=telegram://XXXXXXXXXXXXXXXXXX@telegram?channels=YYYYYYY

Las XXXXXX serían el Token del bot y las YYYY su Chat ID


Por lo demás si Watchtower no te actualiza tus contenedores es simplemente porque no hay ninguna actualización para ellos.



Código:
WATCHTOWER_NOTIFICATION_URL=telegram://BOT_TOKEN@telegram/?channels=CHAT_ID
  Responder




Usuarios navegando en este tema: 2 invitado(s)