136 lines
6.0 KiB
Markdown
136 lines
6.0 KiB
Markdown
---
|
|
title: Dockcheck
|
|
created: 2026-06-07
|
|
updated: 2026-06-07
|
|
type: app
|
|
tags: [catalogue, docker, mise-a-jour, cli, shell, auto-hebergement]
|
|
confidence: high
|
|
contested: false
|
|
sources: [https://selfh.st/apps/?tag=Docker, https://github.com/mag37/dockcheck]
|
|
---
|
|
|
|
# 🐳 Dockcheck
|
|
|
|
> **Le check-up update pour vos conteneurs, en une commande** : un script shell léger qui scanne vos images, détecte les MAJ, et met à jour d'un coup. Le compagnon idéal de [[app-diun]] et [[app-watchtower]] pour les amateurs de CLI.
|
|
|
|
## 📋 Informations Générales
|
|
|
|
| Champ | Valeur |
|
|
| :--- | :--- |
|
|
| **Site web** | (GitHub) |
|
|
| **GitHub** | [mag37/dockcheck](https://github.com/mag37/dockcheck) |
|
|
| **License** | MIT |
|
|
| **Langage** | Shell (Bash) |
|
|
| **Étoiles GitHub** | 2345 ⭐ |
|
|
| **Dernière MAJ** | 2026-05-30 |
|
|
| **Catégorie** | [[cat-docker\|Docker]] |
|
|
|
|
## 📝 Description
|
|
|
|
**Dockcheck** est un **outil en ligne de commande (CLI)** qui interroge le registre Docker Hub (ou d'autres registres) pour comparer l'image locale de chaque conteneur avec la dernière version disponible, et vous indique lesquelles peuvent être mises à jour.
|
|
|
|
Contrairement à [[app-watchtower]] ou [[app-diun]] qui tournent comme des démons, **Dockcheck est un script ponctuel à lancer à la demande** (ou via cron). C'est l'outil parfait pour les sysadmins qui veulent garder le contrôle : *vous* décidez quand mettre à jour, *vous* lisez la sortie, *vous* validez.
|
|
|
|
- ✅ **Scan multi-registres** : Docker Hub, GHCR, Gitea, Quay, Forgejo, GitLab, Amazon ECR…
|
|
- ✅ **Multi-hôte** : peut se connecter en SSH à plusieurs machines pour les mettre à jour
|
|
- ✅ **Auto-update sélectif** : flag `-y` pour confirmer, `-a` pour tout accepter, ou choisir par numéro
|
|
- ✅ **Notifications** : Discord, Telegram, Slack, Pushover, Ntfy, Gotify, email
|
|
- ✅ **Backups automatiques** : option `--stop-start` pour arrêter / redémarrer proprement
|
|
- ✅ **Aucune dépendance lourde** : juste `bash`, `curl`, `jq`, `docker` (et `dialog` pour le mode TUI)
|
|
- ✅ **Mode TUI interactif** : affiche une liste sélectionnable si `dialog` est installé
|
|
- ✅ **Cron-friendly** : un wrapper `dockcheck-cron.sh` est fourni pour les exécutions planifiées
|
|
|
|
**Dockcheck vs Diun** : Diun *notifie* quand une MAJ existe (passif), Dockcheck *agit* (actif). Les deux sont complémentaires. Dockcheck vs Watchtower : Watchtower met à jour tout seul, sans validation ; Dockcheck laisse l'humain décider.
|
|
|
|
## 🚀 Installation
|
|
|
|
### Standalone (CLI sur l'hôte, méthode recommandée)
|
|
|
|
```bash
|
|
# Téléchargement du script
|
|
sudo curl -L https://raw.githubusercontent.com/mag37/dockcheck/main/dockcheck.sh -o /usr/local/bin/dockcheck
|
|
sudo chmod +x /usr/local/bin/dockcheck
|
|
|
|
# Premier lancement : scan des conteneurs locaux
|
|
dockcheck
|
|
```
|
|
|
|
### Docker (le script dans un conteneur, lit le socket)
|
|
|
|
```yaml
|
|
# docker-compose.yml
|
|
version: '3.8'
|
|
services:
|
|
dockcheck:
|
|
image: ghcr.io/mag37/dockcheck:latest
|
|
container_name: dockcheck
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
labels:
|
|
- "traefik.enable=false" # pas d'UI web
|
|
```
|
|
|
|
### Cron quotidien avec notifications
|
|
|
|
```bash
|
|
# /etc/cron.d/dockcheck
|
|
0 4 * * * root /usr/local/bin/dockcheck -y -n # scan + MAJ auto + notif
|
|
```
|
|
|
|
## ⚙️ Configuration Initiale
|
|
|
|
1. **Pré-requis** : `docker`, `curl`, `jq`. Installer via `apt install -y curl jq` (Debian/Ubuntu) ou équivalent
|
|
2. **Premier scan** : `dockcheck` (sans arguments) affiche la liste des MAJ disponibles, sans rien modifier
|
|
3. **Mode interactif** : `dockcheck -i` ouvre une TUI `dialog` pour cocher les conteneurs à mettre à jour
|
|
4. **Configurer les notifications** : créer un fichier de config (`~/.config/dockcheck.conf`) ou exporter des variables d'environnement (`NOTIFIY_DISCORD_WEBHOOK=…`)
|
|
5. **Tester sur un hôte distant** : configurer `~/.ssh/config` puis `dockcheck -H user@host1,user@host2`
|
|
6. **Ajouter à un cron** : exécution quotidienne ou hebdomadaire selon votre politique de MAJ
|
|
|
|
## 🔄 Alternatives
|
|
|
|
### Open Source
|
|
- [[app-diun]] — Notifications de MAJ (passif, daemon)
|
|
- [[app-watchtower|WUD]] — Updates automatiques (actif, daemon)
|
|
- [[app-cup-updates|Cup]] — UI web simple pour MAJ à la demande
|
|
- [[app-patchpanda|PatchPanda]] — Mise à jour de stacks Compose
|
|
- **Crane / Skopeo** — outils bas niveau pour inspecter les images
|
|
|
|
### Comparaison Dockcheck vs alternatives
|
|
|
|
| Critère | Dockcheck | Diun | Watchtower | Cup |
|
|
| :--- | :--- | :--- | :--- | :--- |
|
|
| Type | CLI ponctuel | Daemon notif | Daemon MAJ | GUI web |
|
|
| Updates auto | ❌ (manuel) | ❌ | ✅ | ❌ |
|
|
| Validation humaine | ✅ | ❌ | ❌ | ✅ |
|
|
| Multi-host | ✅ (SSH) | ❌ | ❌ | ❌ |
|
|
| Notifications | ✅ | ✅ | ✅ | ❌ |
|
|
| Setup | 2 min | 5 min | 5 min | 5 min |
|
|
|
|
**Verdict** : Dockcheck est **la référence pour les admins CLI**. Si vous aimez le contrôle fin et la lecture des logs, c'est lui. Si vous voulez du « set & forget », [[app-watchtower|Watchtower]]. Si vous voulez juste être notifié, [[app-diun]].
|
|
|
|
### Propriétaires (ce que Dockcheck remplace)
|
|
- **Snyk Container** (payant, scan de vulnérabilités)
|
|
- **Docker Trusted Registry** (payant, deprecated)
|
|
- **Portainer auto-update** (payant en Business Edition)
|
|
|
|
## 🔐 Sécurité
|
|
|
|
- ⚠️ **Socket Docker monté = accès root** : limiter à `ro` (read-only) et envisager [[app-docker-socket-proxy-docker|docker-socket-proxy]]
|
|
- **Vérifier les images avant update** : ne jamais faire `dockcheck -y` en aveugle sur des images non officielles ; lire la release notes
|
|
- **Rollback** : garder un tag `:previous` ou utiliser [[app-tugtainer]] pour les backups avant update
|
|
|
|
## 📚 Ressources
|
|
|
|
- [GitHub mag37/dockcheck](https://github.com/mag37/dockcheck)
|
|
- [Wiki & exemples](https://github.com/mag37/dockcheck/wiki)
|
|
- [Tutoriel fr (Wiki)](https://wiki.example.com/dockcheck)
|
|
|
|
## Pages Liées
|
|
- [[cat-docker]] — Catégorie Docker
|
|
- [[app-portainer]] / [[app-dockge]] / [[app-yacht]] — GUI Docker
|
|
- [[app-traefik]] — Reverse-proxy
|
|
- [[recettes-docker-compose]] — Compose files
|
|
- [[securisation-home-lab]] — Bonnes pratiques
|