
Pourquoi un petit stack de conteneurs bat un grand
Lire « 5 just-enough Docker containers I use on every PC » sur XDA nous a fait faire le bilan de nos propres stacks et éliminer les deux tiers de ce que nous exécutions. Un lab personnel que personne ne touche parce qu’il faut une heure pour le comprendre est un lab personnel mort. Un ensemble petit et délibéré de conteneurs couvrant l’interface admin, l’uptime, les secrets, le blocage des annonces et les mises à jour est la version que nous continuerons d’utiliser pendant des années, sous Windows avec Docker Desktop, sur macOS avec OrbStack et sous Linux avec Docker Engine simple.
Nous avons testé huit conteneurs à travers un cycle d’installation propre sur chacun de ces hôtes, puis avons exécuté le stack pendant une semaine de travail pour vérifier l’utilisation de la RAM, l’inactivité du CPU et le nombre de bugs rencontrés. Tout ici peut être démarré avec docker compose up -d et fonctionne bien derrière un pare-feu réseau domestique.
Ce qu’il faut rechercher dans un stack de conteneurs minimaliste
- S’exécute depuis un fichier compose. L’ensemble doit démarrer ensemble en une seule commande, pas seize tableaux de bord à cliquer.
- Faible consommation d’inactivité. Un stack que vous laissez sur un mini PC doit inactif avec un pourcentage faible de RAM à deux chiffres, pas plus.
- Interface web ou rien. Les outils en ligne de commande uniquement appartiennent à l’hôte, pas à Docker. Chaque conteneur ici a une interface de navigateur.
- Histoire de sauvegarde. Tout ce qui stocke l’état doit être facilement sauvegardable (un seul volume monté ou bind mount).
- Sensible aux mises à jour. Les conteneurs qui ne sont jamais mis à jour sont des conteneurs compromis. Le stack doit inclure un moyen de les maintenir à jour.
- Modèle de proxy inverse documenté. Les déploiements réels finissent derrière Traefik, Caddy ou nginx, et la documentation des conteneurs devrait vous montrer comment.
Comparaison rapide
| Application | Meilleur pour | Consommation inactif | Interface web | Licence |
|---|---|---|---|---|
| Portainer | Gérer les conteneurs visuellement | Faible | Oui | Community edition free |
| Uptime Kuma | Surveiller les services et recevoir des alertes | Très faible | Oui | MIT |
| Vaultwarden | Gestionnaire de mots de passe auto-hébergé | Très faible | Oui | GPLv3 |
| Pi-hole | Blocage des annonces et des traceurs au niveau DNS | Très faible | Oui | EUPL |
| Watchtower | Mise à jour automatique des conteneurs | Très faible | Pas d’interface web | Apache 2.0 |
| Homepage | Tableau de bord personnel pour le stack | Très faible | Oui | GPLv3 |
| Traefik | Proxy inverse pour le reste du stack | Faible | Oui (tableau) | MIT |
| Duplicati | Sauvegarde pour l’hôte et les volumes de conteneurs | Faible | Oui | LGPLv2.1 |
Les huit conteneurs que nous exécutons sur chaque hôte
1. Portainer, l’interface admin qui rend Docker lisible
Portainer est le tableau de bord du navigateur qui transforme la ligne de commande Docker en un ensemble d’écrans. Démarrer et arrêter les conteneurs, extraire des images, inspecter les volumes, consulter les journaux, faire exec dans un conteneur, diagrammes de réseau, tout. Pour quiconque ne veut pas garder les trente dernières commandes docker en tête, Portainer est par où commence la journée.
Où il est limité : L’édition Business est protégée par une licence ; l’édition Community couvre tout ce dont a besoin un lab personnel à un seul nœud, mais certaines fonctionnalités d’entreprise (RBAC au-delà de quelques comptes, stockage des secrets chiffré) sont payantes.
Prix :
- Gratuit : Community edition pour usage personnel et petite équipe
- Payant : Business edition avec tarification par nœud
- vs docker CLI brut : Plus rapide pour naviguer, plus lent pour les scripts
S’exécute sur : Windows Docker Desktop, macOS OrbStack, Docker Engine sous Linux.
Télécharger : portainer.io
Conclusion : Le premier conteneur à installer sur un nouvel hôte, avant tout autre chose.
2. Uptime Kuma, le moniteur qui vous prévient avant votre famille
Uptime Kuma est une page de statut auto-hébergée et un moteur d’alertes. Il fait un ping sur une URL, un port TCP, une base de données ou une vérification de santé de conteneur selon un horaire, puis affiche un tableau de bord et déclenche des alertes (Discord, Telegram, email, ntfy) quand quelque chose casse. Ajouter un nouveau service est un formulaire de deux minutes.
Où il est limité : Non conçu pour des centaines de services (c’est un outil de lab personnel, pas Datadog). Ses propres redémarrages laissent un trou dans la chronologie.
Prix :
- Gratuit : Produit complet
- Payant : Aucun
- vs monitoring commercial : Plus simple, privé, sans facturation par vérification
S’exécute sur : Docker sous Windows, macOS, Linux.
Télécharger : Uptime Kuma on GitHub
Conclusion : Le conteneur qui rend le reste du stack observable. Ajoutez-le en deuxième.
3. Vaultwarden, le Bitwarden auto-hébergé compact
Vaultwarden est une réimplémentation en Rust de l’API du serveur Bitwarden. Il s’exécute avec une fraction de la RAM utilisée par le conteneur officiel, parle le même protocole que les applications Bitwarden officielles, et stocke tout dans un seul fichier SQLite trivial à sauvegarder.
Où il est limité : Projet communautaire, pas soutenu par Bitwarden. Certaines fonctionnalités d’entreprise (fournisseurs SSO, synchronisation de répertoires) sont limitées aux niveaux payants de Bitwarden hébergé.
Prix :
- Gratuit : Le conteneur est gratuit ; le stockage coûte ce que coûte votre disque
- Payant : Aucun
- vs Bitwarden hébergé : Contrôle total, vos propres sauvegardes, disponibilité autogérée
S’exécute sur : N’importe quel hôte Docker.
Télécharger : Vaultwarden on GitHub
Conclusion : Le conteneur qui vous permet enfin de quitter un gestionnaire de mots de passe hébergé sans perdre la synchronisation entre appareils.
4. Pi-hole, le bloqueur d’annonces pour chaque appareil du réseau
Pi-hole exécute un serveur DNS qui ne retourne rien pour les domaines de ses listes de blocage. Pointez le DNS de votre routeur sur le conteneur Pi-hole et chaque appareil du réseau (téléphones, téléviseurs, imprimantes) perd soudain ses connexions d’annonces et de traceurs au niveau DNS, sans installation par appareil.
Où il est limité : Certains services s’appuient sur les domaines de traceurs pour que les liens fonctionnent ; la mémoire musculaire de la liste blanche prend une semaine à développer. Les listes de blocage HTTPS uniquement manquent toujours les annonces servies depuis le même domaine que le site.
Prix :
- Gratuit : Produit complet
- Payant : Aucun
- vs bloqueur d’annonces navigateur : Couvre les téléphones, les téléviseurs et l’IoT ; ne masque pas les annonces au niveau des éléments dans la page
S’exécute sur : Docker sur n’importe quel hôte ; plus heureux sur une machine toujours allumée.
Télécharger : pi-hole.net
Conclusion : Le seul conteneur qui change ce que le ménage entier voit, ce qui est un bon retour pour dix minutes de compose.
5. Watchtower, le concierge qui garde les conteneurs frais
Watchtower surveille vos autres conteneurs, vérifie les images plus récentes et tire plus redémarre selon un horaire que vous définissez. Livrez-le avec une notification Discord ou Slack et chaque matin vous obtenez un résumé de ce qui a été mis à jour la nuit.
Où il est limité : Les mises à jour automatiques peuvent casser les services en cours d’exécution si une image livre une mauvaise version. L’épinglage à des balises spécifiques ou l’utilisation de filtres d’étiquettes est l’atténuation.
Prix :
- Gratuit : Produit complet
- Payant : Aucun
- vs mises à jour manuelles : Automatisation avec petit risque vs obsolescence cohérente sans risque de surprise
S’exécute sur : N’importe quel hôte Docker.
Télécharger : containrrr.dev/watchtower
Conclusion : Le conteneur qui empêche le reste du stack de pourrir.
6. Homepage, le tableau de bord qui rend le stack trouvable
Homepage est un tableau de bord léger qui énumère vos services avec des icônes, des vérifications de santé et des intégrations qui affichent des données en direct (statut Uptime Kuma, comptes Portainer, files d’attente Sonarr si vous en exécutez une). Marquez-le dans chaque navigateur et vous ne perdrez jamais l’URL d’un conteneur.
Où il est limité : La configuration est YAML sur disque ; le bon côté c’est qu’elle vit dans git, le mauvais côté c’est que ce n’est pas une interface click-to-add.
Prix :
- Gratuit : Entièrement open-source
- Payant : Aucun
- vs barre de favoris navigateur : Données en direct, un seul endroit pour le ménage
S’exécute sur : Docker sur n’importe quel hôte.
Télécharger : Homepage on GitHub
Conclusion : Le conteneur qui transforme le reste du stack de « URLs dont je me souviens » en une véritable entrée.
7. Traefik, le proxy inverse que le reste du stack traverse
Traefik est le proxy inverse qui permet à chaque autre conteneur de répondre sur son propre sous-domaine (portainer.home, kuma.home, vault.home) au lieu de mémoriser les numéros de port. Il regarde les étiquettes Docker et met à jour le routage automatiquement, donc ajouter un nouveau conteneur qui obtient une URL publique nécessite trois lignes d’étiquette et une application de compose.
Où il est limité : Le premier déploiement de Traefik a plus de boutons que les autres ; les étiquettes de routeur et la configuration du résolveur TLS nécessitent une lecture attentive de la documentation.
Prix :
- Gratuit : Traefik Proxy est entièrement open-source
- Payant : Traefik Enterprise est un produit séparé
- vs nginx : Configuration native des conteneurs, moins classique
S’exécute sur : N’importe quel hôte Docker.
Télécharger : traefik.io
Conclusion : Le seul conteneur qui change tout le stack de « IPs et ports » à « URLs lisibles par l’homme ».
8. Duplicati, la sauvegarde qui sécurise les volumes de conteneurs
Duplicati est le client de sauvegarde pour le reste du stack. Pointez-le sur vos volumes Docker et bind mounts, choisissez une destination (locale, SSH, S3, B2, WebDAV), définissez un horaire, et chaque nuit les données importantes obtiennent une sauvegarde chiffrée et dédupliquée hors de l’hôte.
Où il est limité : L’interface web est fonctionnelle plutôt que polie. Les flux de restauration nécessitent une visite guidée la première fois.
Prix :
- Gratuit : Produit complet
- Payant : Aucun
- vs scripts manuels
docker run --rm -v: S’exécute réellement selon un horaire, attrape les nouveaux volumes
S’exécute sur : Docker sur n’importe quel hôte.
Télécharger : duplicati.com
Conclusion : Le seul conteneur que les gens ignorent puis regrettent quand un disque meurt. Ajoutez-le tôt.
Comment choisir le bon stack minimaliste
- Si c’est votre premier hôte Docker : Portainer, Uptime Kuma et Vaultwarden sont les trois qui se rentabilisent la première semaine.
- Si votre réseau domestique est plein d’annonces : ajoutez Pi-hole et redirigez le DNS de votre routeur.
- Si vous avez déjà un stack croissant : ajoutez Watchtower et Homepage ensuite ; les deux rendent le reste plus gérable.
- Si vous prévoyez d’exposer un service sur un sous-domaine : Traefik entre avant l’exposition, pas après.
- Si vous tenez à ne pas perdre ce que vous construisez : Duplicati est le conteneur qui transforme votre stack compose en quelque chose que vous pouvez réellement récupérer.
FAQ
Ces conteneurs s’exécutent-ils sur un PC Windows avec Docker Desktop ?
Oui. Chacun des huit livre une image multi-arch officielle (linux/amd64 et linux/arm64) qui s’exécute de manière identique sur Docker Desktop pour Windows, OrbStack sur macOS et Docker Engine sous Linux.
Combien de RAM ce stack utilise-t-il au repos ?
Sur une Raspberry Pi 5 avec 4 Go et sur un petit mini PC avec 8 Go, les huit conteneurs ensemble sont inactifs avec des centaines basses de mégabits de RAM. Vaultwarden et Pi-hole sont les plus légers ; Traefik et Duplicati se développent brièvement pendant les travaux actifs.
Est-il sûr de laisser Watchtower en mises à jour automatiques ?
Principalement. Le modèle plus sûr est d’exécuter Watchtower avec des filtres d’étiquettes pour qu’il mette à jour uniquement les conteneurs que vous avez marqués comme « sûrs pour auto-mise à jour » et laisser les autres en mises à jour manuelles. L’épinglage aux balises de version majeure est une autre atténuation courante.
Ai-je besoin de Portainer si je suis déjà à l’aise avec la CLI Docker ?
Portainer est une couche de commodité. Si vous êtes bien avec la CLI et lisez les journaux avec docker compose logs -f, vous pouvez l’ignorer. La plupart des gens qui l’ajoutent cessent de le désinstaller après une semaine.
Puis-je exécuter ce stack sur un NAS Synology ou QNAP ?
Oui. Les deux fournisseurs livrent des interfaces Container Manager qui lisent les fichiers compose standard, et chaque conteneur ici est compatible. Sur Synology DSM 7, Container Manager peut importer le fichier compose directement.