Skip to content

Passer de Watchtower à Dozzle ​

Dozzle sait faire ce que fait Watchtower : vérifier selon un planning si vos conteneurs ont des images plus récentes et les mettre à jour. Chaque mise à jour est surveillée, et si le nouveau conteneur ne reste pas en marche, l'ancien est remis en place. Cette page fait correspondre les réglages de Watchtower à ceux de Dozzle.

L'activer ​

Dozzle a besoin des actions et de /data sur un volume :

yaml
services:
  dozzle:
    image: amir20/dozzle:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - dozzle-data:/data
    ports:
      - 8080:8080
    environment:
      DOZZLE_ENABLE_ACTIONS: true
      DOZZLE_AUTO_UPDATE: daily
      DOZZLE_AUTO_UPDATE_TIME: "04:00"
volumes:
  dozzle-data:

Vous pouvez omettre les deux lignes DOZZLE_AUTO_UPDATE et régler le planning dans Paramètres → Mises à jour à la place. Choisissez aussi Quels conteneurs à cet endroit. Arrêtez ensuite Watchtower, pour que les deux ne mettent pas à jour les mêmes conteneurs.

Réglages ​

WatchtowerDozzle
--schedule ou --intervalDOZZLE_AUTO_UPDATE (daily, ou weekly le dimanche) et DOZZLE_AUTO_UPDATE_TIME. Au plus une fois par jour
Tous les conteneurs (par défaut)Quels conteneurs : Tout
--label-enable avec com.centurylinklabs.watchtower.enable=trueQuels conteneurs : Conteneurs avec label (par défaut) avec dev.dozzle.update: auto
com.centurylinklabs.watchtower.enable=falsedev.dozzle.update: off
--cleanupToujours actif. L'ancienne image sans tag est supprimée après une mise à jour, et une image précédente est gardée pour revenir en arrière
--monitor-onlyLaisser le conteneur sans label avec Conteneurs avec label : il est vérifié et affiché comme mise à jour, mais jamais mis à jour tout seul
--rolling-restartToujours : chaque hôte met à jour un conteneur à la fois
--notification-urlAlertes et webhooks sur les évènements de conteneurs, ou Dozzle Cloud, qui surveille chaque mise à jour et vous prévient quand une nouvelle version commence à échouer
--run-onceMettre à jour dans le panneau des mises à jour
Identifiants de registre privéNon pris en charge. Les conteneurs d'un registre privé sont ignorés

Labels ​

Les labels de Watchtower ne sont pas lus. Remplacez com.centurylinklabs.watchtower.enable par dev.dozzle.update :

dev.dozzle.updateCe qui se passe
autoMis à jour selon le planning, sauf si Quels conteneurs vaut Dozzle seulement
(aucun label)Mis à jour selon le planning avec Tout. Sinon vérifié et affiché comme mise à jour, que vous appliquez vous-même
offJamais vérifié, jamais mis à jour

Les anciens labels de Dozzle sont toujours acceptés : dev.dozzle.auto-update=true est lu comme auto, et dev.dozzle.update-check=false comme off.

Ce qui change ​

  • L'ancien conteneur est gardé jusqu'à ce que le nouveau reste en marche, et en bonne santé s'il a un healthcheck. Sinon, l'ancien est remis en place.
  • Les conteneurs en mauvaise santé sont ignorés.
  • Les conteneurs arrêtés ne sont jamais mis à jour, même avec le label auto.
  • Avec Dozzle Cloud, une mise à jour planifiée qui commence à échouer peut être annulée. Le planning laisse alors ce conteneur de côté jusqu'à la publication d'une image plus récente.
  • Les images figées sur un digest et les images construites localement sont ignorées, faute de version plus récente à comparer.

Publié sous licence MIT. Open source et sponsorisé par Docker OSS.