Skip to main content

WATCHTOWER

Watchtower.png

Cos'è

Watchtower tool è molto utile. Infatti ci permette di tenere aggiornati tutti i container presenti nel nostro host.

 

Come si installa Watchtower

Ecco di seguito il codice da inserire in Portainer sotto la voce Editor sotto il menù Stack

Ovviamente si può procedere anche utilizzando manualmente docker-compose

version: '2.1'
services:
   watchtower:
      image: containrrr/watchtower
      container_name: watchtower
      volumes:
         - /var/run/docker.sock:/var/run/docker.sock
      environment:
         - TZ=Europe/Rome
         - WATCHTOWER_MONITOR_ONLY=true
         - WATCHTOWER_SCHEDULE=0 0 18 ? * FRI
         - WATCHTOWER_CLEANUP=true
         - WATCHTOWER_NOTIFICATIONS=email
         - WATCHTOWER_NOTIFICATION_EMAIL_FROM=<EMAIL_MITTENTE>
         - WATCHTOWER_NOTIFICATION_EMAIL_TO=<EMAIL_DESTINATRIO>
         - WATCHTOWER_NOTIFICATION_EMAIL_SERVER=<SMTP_SERVER>
         - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PASSWORD=<EMAIL_PASSWORD>
         - WATCHTOWER_NOTIFICATIONS_HOSTNAME=Portainer VPS Docker
         - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_USER=<SMTP_USER>
         - WATCHTOWER_NOTIFICATION_EMAIL_SERVER_PORT=<SMTP_PORT>
      restart: unless-stopped

Come si può notare ci sono delle variabile settate.

Andiamo a vederle nel dettaglio:

  • WATCHTOWER_MONITOR_ONLY :. Questa variabile settata a true indica che verrà controllato se ci sono immagini aggiornate per i container ma non verrà effettuato l'update automaticamente
  • TZ :. Qui viene impostato il fuso orario in modo che l'ora delle notifiche degli update sia coerente alla nostra zona
  • WATCHTOWER_CLEANUP :. Watchtower rimuoverà la vecchia immagine dopo aver riavviato un container con una nuova immagine. Utilizza questa opzione per impedire l'accumulo di immagini orfane sul tuo sistema man mano che i container vengono aggiornati
  • WATCHTOWER_SCHEDULE :. Qui si definisce quando e quanto spesso controllare la presenza di nuove immagini: espressione con questa sintassi " 0 0 4 * * * " che in questo caso si traduce "tutte le mattine alle ore 4,00". Per ottenere la corretta sintassi si può usare il sito https://crontab.guru/

 

Al termine del processo di Update, nel mio caso, verifico in Portainer se ci sono immagini da rimuovere che verranno segnalate come Unused .