Un Raspberry Pi qui fait tourner Pi-hole, Home Assistant, Jellyfin, MQTT ou un petit tableau de bord Docker devient vite indispensable. Le problème arrive ensuite : comment garder les conteneurs à jour sans passer ses soirées en SSH ? Watchtower sur Raspberry Pi peut automatiser une partie du travail, à condition de le configurer prudemment.
3 points clés
- Watchtower surveille les nouvelles images Docker et peut recréer les conteneurs automatiquement.
- Sur Raspberry Pi, il faut éviter le mode “tout mettre à jour sans réfléchir”.
- La meilleure approche consiste à l’utiliser par labels, avec notifications et sauvegardes.
Verdict rapide
Watchtower est très pratique pour un homelab Raspberry Pi, surtout avec des services simples. Pour les conteneurs critiques comme Home Assistant, Nextcloud ou une base de données, il vaut mieux activer les mises à jour au cas par cas et conserver une procédure de retour arrière.
C’est quoi Watchtower, et pour qui ?
Watchtower est un conteneur Docker qui vérifie si les images utilisées par vos conteneurs ont une version plus récente. Quand une mise à jour est disponible, il peut télécharger l’image, arrêter l’ancien conteneur, le recréer avec les mêmes paramètres, puis supprimer l’image obsolète.
Il s’adresse aux utilisateurs de Raspberry Pi qui hébergent plusieurs services avec Docker Compose : serveur DNS, domotique, monitoring, sauvegarde, serveur média, reverse proxy ou petits outils maison. L’objectif n’est pas de remplacer une vraie stratégie d’administration, mais de réduire la maintenance répétitive.
Prérequis sur Raspberry Pi
- Un Raspberry Pi 3, 4 ou 5 sous Raspberry Pi OS ou Debian.
- Docker et Docker Compose déjà installés.
- Un accès SSH avec un utilisateur autorisé à lancer Docker.
- Des volumes persistants pour vos services importants.
- Une sauvegarde récente avant d’automatiser les mises à jour.
Installation simple avec Docker Compose
Créez un dossier dédié :
mkdir -p ~/docker/watchtower cd ~/docker/watchtower
Ajoutez un fichier docker-compose.yml minimal :
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --schedule "0 0 4 * * *" --cleanup
Ce réglage lance une vérification chaque jour à 4 h du matin et nettoie les anciennes images. Démarrez ensuite le service :
docker compose up -d
La méthode recommandée : mise à jour par labels
Sur un Raspberry Pi de production maison, il est plus sûr de ne pas donner carte blanche à Watchtower. Le mode par labels permet de choisir explicitement quels conteneurs peuvent être mis à jour.
services:
watchtower:
image: containrrr/watchtower
container_name: watchtower
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --label-enable --schedule "0 0 4 * * *" --cleanup
Puis, sur un service que vous acceptez de mettre à jour automatiquement :
labels: - "com.centurylinklabs.watchtower.enable=true"
Commencez par des outils peu risqués : tableau de bord, monitoring, petits services stateless. Attendez avant d’activer les mises à jour automatiques sur les services qui stockent des données sensibles.
Notifications : ne pas mettre à jour dans le silence
Une mise à jour automatique sans notification est difficile à diagnostiquer. Watchtower peut envoyer des alertes via e-mail, Gotify, Slack, Teams ou d’autres canaux selon votre configuration. À défaut, consultez régulièrement les logs :
docker logs watchtower --tail=100
Tableau comparatif des stratégies
| Stratégie | Avantage | Risque | Conseil |
|---|---|---|---|
| Tout automatique | Zéro maintenance | Casse silencieuse possible | À éviter sur services critiques |
| Par labels | Contrôle précis | Demande un peu de tri | Meilleur choix sur Raspberry Pi |
| Notifications seulement | Vous gardez la main | Mises à jour manuelles | Idéal pour débuter |
| Mise à jour manuelle | Très sûr | Maintenance régulière | Pour bases de données et NAS |
Checklist avant d’activer Watchtower
- Vérifier que chaque service utilise un volume persistant.
- Sauvegarder les dossiers Docker importants.
- Éviter les tags trop vagues si une application est sensible aux changements.
- Tester la restauration d’un service avant de l’automatiser.
- Activer les notifications ou surveiller les logs.
- Utiliser
--label-enablepour les conteneurs critiques. - Planifier les vérifications à une heure où une interruption courte est acceptable.
Points forts
- Très léger pour un Raspberry Pi.
- Installation rapide avec Docker Compose.
- Réduit les images obsolètes et les failles connues.
- Compatible avec une gestion fine par labels.
- Pratique pour les petits services de homelab.
Limites à connaître
- Une image récente peut introduire un bug ou un changement de configuration.
- Watchtower ne remplace pas les sauvegardes.
- Les conteneurs recréés peuvent provoquer une coupure courte.
- Les applications avec base de données méritent souvent une mise à jour manuelle.
Alternatives ou variantes
Si vous préférez garder le contrôle, utilisez Watchtower en mode notification uniquement, puis lancez vous-même docker compose pull et docker compose up -d. Pour une interface graphique, Portainer peut aider à visualiser les conteneurs. Sur un serveur plus avancé, Renovate peut aussi suivre les versions dans vos fichiers Docker Compose.
Questions fréquentes
Watchtower est-il compatible avec Raspberry Pi OS 64 bits ?
Oui, Watchtower fonctionne avec Docker sur Raspberry Pi OS 64 bits, à condition d’utiliser des images compatibles avec l’architecture ARM de votre Pi.
Faut-il mettre à jour Home Assistant automatiquement ?
Ce n’est pas recommandé pour tout le monde. Home Assistant évolue vite et certaines intégrations peuvent changer. Préférez une sauvegarde puis une mise à jour manuelle si votre domotique est critique.
Watchtower supprime-t-il mes données ?
Il recrée les conteneurs, mais les données conservées dans des volumes persistants restent en place. Si une application stocke ses données uniquement dans le conteneur, il y a un risque de perte.
Comment revenir en arrière après une mauvaise mise à jour ?
Utilisez un tag d’image précédent dans votre fichier Compose, relancez le conteneur, puis restaurez les données si nécessaire. D’où l’importance de sauvegarder avant d’automatiser.
Article rédigé par Vincent Vandegans pour Raspberry Pi France.




