[{"data":1,"prerenderedAt":209},["ShallowReactive",2],{"seo-verification":3,"blog-mise-a-jour-automatique-docker-watchtower-diun-fr":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-mise-a-jour-automatique-docker-watchtower-diun-fr",{"id":9,"slug":10,"slugs":11,"title":13,"excerpt":14,"readTime":15,"views":16,"isPinned":17,"publishedAt":18,"updatedAt":19,"category":20,"categories":25,"featuredImage":27,"bgImage":28,"posterImage":29,"relatedSolution":27,"intro":30,"sections":31,"ctaTitle":110,"ctaBody":111,"ctaButton":112,"ctaUrl":113,"relatedPosts":114},350,"mise-a-jour-automatique-docker-watchtower-diun",{"fr":10,"en":12,"ar":12,"es":12},"mise-a-jour-automatique-docker-watchtower-diun-2","Watchtower vs Diun : mises à jour Docker sur VPS sans surprise","Watchtower met à jour vos conteneurs tout seul. Diun vous prévient et vous laisse décider. Comparatif pratique pour choisir selon votre contexte de production.",8,0,false,"2026-09-11T00:00:00+00:00","2026-09-11T11:34:13+00:00",{"id":21,"name":22,"slug":23,"color":24,"icon":23},3,"Déploiement","deploiement","bg-success\u002F10 text-success",[26],{"id":21,"name":22,"slug":23,"color":24,"icon":23},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fmise-a-jour-automatique-docker-watchtower-diun-poster.svg","Les images Docker vieillissent en silence : des correctifs de sécurité s'accumulent, des dépendances sont affectées, et rien ne vous prévient. Sans processus, on patche soit jamais, soit à la main le jour d'un incident. Watchtower et Diun répondent à ce problème avec deux philosophies opposées — l'une agit pour vous, l'autre vous informe. Ce comparatif tranche le choix selon votre contexte, et tient compte d'un fait récent : Watchtower a été archivé par ses mainteneurs fin 2025.",[32,36,39,43,46,76,79,95,98,101],{"type":33,"title":34,"body":35},"h2","Le problème : des images Docker qui vieillissent en silence","Sur un VPS en production, les conteneurs Docker tournent souvent pendant des semaines ou des mois sans être mis à jour. Ce n'est pas de la négligence : il n'y a simplement aucun signal. L'image `nginx:latest` que vous avez tirée en janvier est toujours là en septembre, avec les vulnérabilités qui ont été corrigées entre-temps.\n\nLe coût de ne rien faire est documenté : les CVE non patchées dans les images de base sont l'un des vecteurs d'entrée les plus courants sur des infrastructures Docker auto-hébergées. La mise à jour manuelle — se connecter au VPS, faire `docker pull`, recréer le conteneur — est la pratique par défaut. Elle est aussi la moins fiable : on reporte, on oublie, on ne fait que les services « importants ».\n\nDeux outils ont émergé pour structurer ce processus : **Watchtower**, qui automatise la mise à jour elle-même, et **Diun** (Docker Image Update Notifier), qui envoie une alerte quand une nouvelle image est disponible et laisse l'action à votre pipeline. Ils ne font pas la même chose, et confondre les deux philosophies peut coûter une panne de production.",{"type":33,"title":37,"body":38},"Watchtower : mise à jour automatique, mais archivé depuis fin 2025","Watchtower surveille vos conteneurs en cours d'exécution, interroge les registries à intervalles réguliers, et dès qu'une nouvelle image est disponible, il tire le nouveau tag, arrête le conteneur existant et le recrée avec les mêmes options — volumes, variables d'environnement, réseau. Tout cela sans intervention humaine.\n\n**Ce qu'il fait concrètement :**\n\n- Polling configurable par durée (toutes les N secondes) ou par expression cron\n- Prise en charge des registries privés avec authentification\n- Mode `WATCHTOWER_NOTIFICATIONS` pour recevoir des alertes sans effectuer de mise à jour\n- Filtrage par label Docker pour inclure ou exclure certains conteneurs\n\n**Le risque en production est réel.** Si une image `:latest` introduit un changement d'API incompatible ou un comportement cassant, Watchtower recréera votre conteneur avec cette image — sans test, sans fenêtre de maintenance, potentiellement à 3h du matin. Le conteneur redémarre avec la mauvaise version, et la découverte se fait via une alerte de monitoring ou un appel de support.\n\n**Point de situation important :** le dépôt GitHub de Watchtower a été **archivé par ses mainteneurs fin 2025**. Il est désormais en lecture seule. La dernière version publiée est la `v1.7.1`. Le projet reste fonctionnel et les images Docker existantes continuent de tourner, mais il ne recevra plus de correctifs de sécurité, de nouvelles fonctionnalités ni de support pour les versions futures de Docker. Pour un outil dont le rôle est de mettre à jour vos images, l'ironie n'est pas négligeable.\n\nPour les environnements de développement ou les homelabs où la commodité prime sur la stabilité, Watchtower reste un choix légitime. Pour la production, son archival renforce le constat qui existait déjà : la mise à jour automatique sans pipeline de validation est un risque opérationnel.",{"type":40,"title":41,"body":42},"tip","Watchtower en mode notify-only","Si vous utilisez déjà Watchtower et souhaitez désactiver les mises à jour automatiques tout en conservant les notifications, passez la variable `WATCHTOWER_MONITOR_ONLY=true`. Le conteneur surveille les images et envoie des alertes, mais n'agit pas. C'est une configuration de transition utile si vous migrez vers Diun.",{"type":33,"title":44,"body":45},"Diun : alertes seulement, vous gardez la main","Diun (Docker Image Update Notifier) prend le problème par l'autre bout : il surveille vos images sur les registries et vous envoie une notification quand une nouvelle version est disponible. Il n'agit pas. Vos conteneurs continuent de tourner inchangés — la décision de mettre à jour reste dans votre pipeline.\n\nLicencié sous MIT, Diun est activement développé : la version `la version actuelle` a été publiée récemment. Le projet couvre un large spectre de sources (Docker, Containerd, Kubernetes, Swarm, Nomad, Dockerfile, fichier de configuration) et de canaux de notification.\n\n**Canaux de notification supportés :**\n\n- Email, Slack, Telegram, ntfy, Gotify\n- Microsoft Teams, Discord, webhooks génériques\n- Healthchecks.io pour surveiller le watcher lui-même\n\n**Ce que Diun ne fait pas :**\n\n- Il ne tire jamais d'image\n- Il ne redémarre jamais un conteneur\n- Il ne modifie aucun fichier de configuration\n\nCette philosophie est précisément ce qui le rend adapté à la production. Quand Diun vous signale qu'une nouvelle image est disponible, vous pouvez déclencher votre pipeline de déploiement habituel — avec ses tests, sa sauvegarde préalable et sa fenêtre de maintenance. Vous restez dans une posture maîtrisée.\n\nDiun est également compatible avec les stacks gérées par des outils comme Portainer, Coolify ou Dokploy : il observe les images sans interférer avec leur orchestration.",{"type":47,"title":48,"headers":49,"rows":53},"comparison","Quand choisir l'un ou l'autre",[50,51,52],"Contexte","Watchtower","Diun",[54,58,62,65,69,72],[55,56,57],"Environnement de dev \u002F staging","Acceptable (commodité)","Surdimensionné",[59,60,61],"Prod avec images taguées (pas :latest)","À éviter — recrée sur le même tag","Recommandé",[63,64,61],"Prod avec dépendances d'API tierces","Risqué sans test préalable",[66,67,68],"Homelab \u002F services personnels","Pratique","Correct si alertes actives",[70,71,61],"Stack gérée par Coolify, Dokploy, Portainer","Conflit possible avec l'orchestrateur",[73,74,75],"Projet sans pipeline de déploiement","Acceptable avec monitor-only","Recommandé avec ntfy\u002FSlack",{"type":33,"title":77,"body":78},"Installer Diun sur un VPS : exemple pratique","L'installation de Diun se fait en quelques minutes avec Docker Compose. L'exemple suivant surveille tous les conteneurs du socket Docker local et envoie une notification via ntfy.",{"type":80,"title":81,"steps":82},"steps","Déployer Diun sur votre VPS",[83,86,89,92],{"title":84,"body":85},"Créer le fichier docker-compose.yml","Créez un répertoire dédié et le fichier Compose :\n\n```bash\nmkdir -p \u002Fopt\u002Fdiun && cd \u002Fopt\u002Fdiun\n```\n\nContenu du fichier `docker-compose.yml` :\n\n```bash\nservices:\n  diun:\n    image: crazymax\u002Fdiun:latest\n    restart: unless-stopped\n    volumes:\n      - \u002Fvar\u002Frun\u002Fdocker.sock:\u002Fvar\u002Frun\u002Fdocker.sock\n      - .\u002Fdata:\u002Fdata\n    environment:\n      - TZ=Europe\u002FParis\n      - LOG_LEVEL=info\n      - DIUN_WATCH_WORKERS=20\n      - DIUN_WATCH_SCHEDULE=0 *\u002F6 * * *\n      - DIUN_PROVIDERS_DOCKER=true\n      - DIUN_PROVIDERS_DOCKER_WATCHSTOPPED=true\n      - DIUN_NOTIF_NTFY_ENDPOINT=https:\u002F\u002Fntfy.example.com\n      - DIUN_NOTIF_NTFY_TOPIC=diun-updates\n```\n\nRemplacez `ntfy.example.com` par l'URL de votre instance ntfy (auto-hébergée sur le même VPS ou externe).",{"title":87,"body":88},"Activer la surveillance par label (optionnel)","Par défaut, Diun surveille tous les conteneurs. Pour un contrôle plus fin, passez en mode label :\n\n```bash\n- DIUN_PROVIDERS_DOCKER_WATCHBYDEFAULT=false\n```\n\nPuis ajoutez le label sur les conteneurs à surveiller :\n\n```bash\nlabels:\n  - \"diun.enable=true\"\n```\n\nCette approche est utile pour exclure les conteneurs systèmes (proxies, bases de données) des notifications, et ne surveiller que les apps applicatives.",{"title":90,"body":91},"Démarrer et vérifier","```bash\ndocker compose up -d\ndocker compose logs -f diun\n```\n\nDiun effectue une première passe de découverte au démarrage. Les logs confirment les images détectées et le prochain cycle de surveillance. Une notification de test peut être déclenchée avec :\n\n```bash\ndocker compose exec diun diun notif test\n```",{"title":93,"body":94},"Déclencher la mise à jour depuis votre pipeline","Quand Diun envoie une notification, la mise à jour ne doit pas se faire à la main. Le bon réflexe est de déclencher votre pipeline habituel — un webhook Gitea, une action GitHub, ou un job Woodpecker qui tire la nouvelle image, exécute vos tests et recrée le conteneur.\n\nSi vous n'avez pas encore de pipeline, le minimum viable est un script appelé depuis le webhook ntfy :\n\n```bash\n#!\u002Fbin\u002Fbash\n# update-container.sh \u003Cnom_du_conteneur>\nCONTAINER=$1\ndocker compose -f \u002Fopt\u002F${CONTAINER}\u002Fdocker-compose.yml pull\ndocker compose -f \u002Fopt\u002F${CONTAINER}\u002Fdocker-compose.yml up -d\n```\n\nL'essentiel est que la mise à jour soit **déclenchée intentionnellement**, pas silencieuse.",{"type":33,"title":96,"body":97},"Aller plus loin : pinner les versions et garder le contrôle","La mise à jour automatique sans tag fixe est le vrai risque — qu'on utilise Watchtower ou un pipeline déclenché par Diun. Le tag `:latest` est un alias qui peut pointer vers n'importe quelle version publiée par le mainteneur. Une mise à jour de `:latest` peut introduire un changement cassant sans que rien dans votre configuration ne change.\n\n**La pratique recommandée par la communauté Docker :**\n\nPinnez les versions dans vos fichiers `docker-compose.yml` en production :\n\n```bash\n# À éviter en prod\nimage: nginx:latest\n\n# Préférer un tag de version\nimage: nginx:1.27\n```\n\nRéservez `:latest` aux environnements de développement et de staging, où une régression est détectable avant de toucher la production.\n\nAvec des images versionnées, Diun détecte les nouvelles releases (les nouveaux tags) et vous notifie — vous choisissez la version vers laquelle migrer, vous mettez à jour votre `docker-compose.yml`, et vous déployez en maîtrise. C'est ce que \u003Ca href=\"\u002Fblog\u002Fdocker-compose-production-checklist\">la checklist de production Docker Compose\u003C\u002Fa> appelle « déclarer explicitement vos dépendances ».\n\nSi vous gérez plusieurs conteneurs sur un même VPS, un outil de monitoring des logs comme \u003Ca href=\"\u002Fblog\u002Fself-host-dozzle-vps\">Dozzle\u003C\u002Fa> complète utilement Diun : Diun surveille les images en amont, Dozzle observe les logs des conteneurs après mise à jour.",{"type":40,"title":99,"body":100},"Diun surveille aussi les images arrêtées","Par défaut, Diun ignore les conteneurs arrêtés (`stopped`). Activez `DIUN_PROVIDERS_DOCKER_WATCHSTOPPED=true` pour surveiller aussi les images de conteneurs en pause ou arrêtés — utile si vous gérez des services batch ou des conteneurs de maintenance que vous redémarrez périodiquement.",{"type":102,"title":103,"items":104},"ul","Ce que retenir de ce comparatif",[105,106,107,108,109],"Watchtower agit sans vous demander votre avis — utile en dev, risqué en prod, et archivé depuis fin 2025.","Diun informe sans agir — compatible avec tout pipeline de déploiement existant et activement maintenu (la version actuelle).","Pour la production, Diun couplé à votre pipeline est le choix le plus robuste.","Pinner les versions dans docker-compose.yml reste la base — ni Watchtower ni Diun ne remplacent une gestion explicite des tags.","Si vous avez Watchtower en place, le mode `WATCHTOWER_MONITOR_ONLY=true` est une transition immédiate vers un comportement plus sûr.","Mettez votre stack Docker en orbite sur un VPS ServOrbit","Accès root, SSD NVMe, IPv4 dédiée : les conditions pour reproduire ces exemples à l'identique. Diun et votre pipeline de déploiement tournent sur la même machine que vos conteneurs applicatifs.","Voir les VPS Linux","\u002Fsolutions\u002Fdeveloppeurs",[115,137,151,174,195],{"id":116,"slug":117,"slugs":118,"title":122,"excerpt":123,"readTime":21,"views":16,"isPinned":17,"publishedAt":124,"updatedAt":125,"category":126,"categories":132,"featuredImage":27,"bgImage":28,"posterImage":134,"relatedSolution":135},136,"demarrer-avec-docker-vps",{"fr":117,"en":119,"ar":120,"es":121},"installing-docker-on-a-vps-a-clean-base-for-your-apps","تثبيت-docker-على-vps-قاعدة-نظيفة-لتطبيقاتك","instalar-docker-en-un-vps","Installer Docker sur un VPS : base propre pour vos apps","Préparez un VPS Docker fiable : isolation, Compose, volumes, réseau et bonnes pratiques pour déployer sans bricolage.","2026-02-10T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":127,"name":128,"slug":129,"color":130,"icon":131},4,"Développement","developpement","bg-warning\u002F10 text-warning","dev",[133],{"id":127,"name":128,"slug":129,"color":130,"icon":131},"\u002Fblog\u002Fcovers\u002Fdemarrer-avec-docker-vps-poster.svg",{"categorySlug":131,"appSlug":136},"docker-starter",{"id":138,"slug":139,"slugs":140,"title":144,"excerpt":145,"readTime":15,"views":16,"isPinned":17,"publishedAt":146,"updatedAt":125,"category":147,"categories":148,"featuredImage":27,"bgImage":28,"posterImage":150,"relatedSolution":27},229,"docker-compose-production-checklist",{"fr":139,"en":141,"ar":142,"es":143},"docker-compose-in-production-10-point-checklist","docker-compose-في-الإنتاج-قائمة-التحقق-من-10-نقاط","checklist-docker-compose-en-produccion","Docker Compose en production : checklist des 10 points","Checklist Docker Compose en production : 10 paramètres essentiels, gestion des secrets sans downtime, sauvegarde volumes sans corruption, CVE-2026-17106.","2026-08-06T00:00:00+00:00",{"id":21,"name":22,"slug":23,"color":24,"icon":23},[149],{"id":21,"name":22,"slug":23,"color":24,"icon":23},"\u002Fblog\u002Fcovers\u002Fdocker-compose-production-checklist-poster.svg",{"id":152,"slug":153,"slugs":154,"title":158,"excerpt":159,"readTime":127,"views":160,"isPinned":17,"publishedAt":161,"updatedAt":125,"category":162,"categories":168,"featuredImage":27,"bgImage":28,"posterImage":170,"relatedSolution":171},167,"self-host-dozzle-vps",{"fr":153,"en":155,"ar":156,"es":157},"how-to-self-host-dozzle-on-a-vps-real-time-docker-log-viewer","استضافة-dozzle-على-vps-عارض-سجلات-docker-لحظيا","alojar-dozzle-en-un-vps","Héberger Dozzle sur un VPS : logs Docker en temps réel","Déployez Dozzle sur votre VPS : un visualiseur de logs Docker open source et sans état. Suivez et recherchez en direct les logs de vos conteneurs, sans SSH.",1,"2026-07-06T00:00:00+00:00",{"id":163,"name":164,"slug":165,"color":166,"icon":167},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[169],{"id":163,"name":164,"slug":165,"color":166,"icon":167},"\u002Fblog\u002Fcovers\u002Fself-host-dozzle-vps-poster.svg",{"categorySlug":172,"appSlug":173},"monitoring","dozzle",{"id":175,"slug":176,"slugs":177,"title":181,"excerpt":182,"readTime":127,"views":16,"isPinned":17,"publishedAt":183,"updatedAt":184,"category":185,"categories":190,"featuredImage":27,"bgImage":28,"posterImage":192,"relatedSolution":193},194,"self-host-ntfy-vps",{"fr":176,"en":178,"ar":179,"es":180},"self-host-ntfy-on-a-vps-push-notifications-for-scripts-and-cicd","استضافة-ntfy-على-vps-إشعارات-فورية-من-سكريبتاتك-وcicd","autoalojar-ntfy-en-un-vps","Héberger ntfy sur un VPS : notifications push pour vos scripts","Déployez ntfy sur votre VPS et envoyez des notifications push depuis n'importe quel script, cron ou pipeline CI\u002FCD avec un simple curl — sans SaaS ni clé d'API.","2026-07-28T00:00:00+00:00","2026-09-11T11:34:11+00:00",{"id":15,"name":186,"slug":187,"color":188,"icon":189},"Sécurité & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[191],{"id":15,"name":186,"slug":187,"color":188,"icon":189},"\u002Fblog\u002Fcovers\u002Fself-host-ntfy-vps-poster.svg",{"categorySlug":172,"appSlug":194},"ntfy",{"id":196,"slug":197,"slugs":198,"title":202,"excerpt":203,"readTime":127,"views":160,"isPinned":17,"publishedAt":204,"updatedAt":125,"category":205,"categories":206,"featuredImage":27,"bgImage":28,"posterImage":208,"relatedSolution":27},224,"routine-correctifs-apps-self-hosted",{"fr":197,"en":199,"ar":200,"es":201},"self-hosted-apps-the-patching-routine","التطبيقات-المستضافة-ذاتيا-روتين-التصحيحات","apps-self-hosted-rutina-de-parches","Applications self-hosted : la routine de correctifs","Inventaire, avis de sécurité, fenêtre de correctif, sauvegarde et vérification : la routine qui manque à la plupart des parcs auto-hébergés.","2026-08-05T00:00:00+00:00",{"id":15,"name":186,"slug":187,"color":188,"icon":189},[207],{"id":15,"name":186,"slug":187,"color":188,"icon":189},"\u002Fblog\u002Fcovers\u002Froutine-correctifs-apps-self-hosted-poster.svg",1789126734732]