● Linux.fr 📅 17/03/2026 à 09:17

Maintenant : monitorer toute sa stack Docker depuis un seul conteneur

Cybersécurité 👤 Benjy33
Maintenant est un logiciel libre de monitoring d'infrastructure, conçu pour les administrateurs et développeurs qui font tourner des conteneurs Docker ou Kubernetes. Il se déploie sous la forme d'un unique conteneur qui auto-découvre et surveille l'ensemble d'une stack sans configuration préalable. Le projet est publié sous licence AGPL-3.0. Le code source complet est disponible sur GitHub, y compris les fonctionnalités de l'édition Pro. Le problème Quand on auto-héberge une vingtaine (ou une quarantaine) de conteneurs sur un VPS, le monitoring finit souvent en une collection d'outils déconnectés : Uptime Kuma pour les checks HTTP, Healthchecks.io pour les tâches cron, un script bash pour les certificats SSL, Portainer ouvert dans un onglet pour voir si les conteneurs tournent, et un docker pull manuel de temps en temps pour vérifier les mises à jour. Cinq outils, zéro communication entre eux, aucune vue d'ensemble. Maintenant regroupe tout ça dans un seul processus. lien nᵒ 1 : Site weblien nᵒ 2 : Code sourcelien nᵒ 3 : Documentationlien nᵒ 4 : Image DockerSommaire Ce que ça fait Stack technique Support Kubernetes Modèle économique Déploiement rapide Comparaison avec les outils existants Ce que ça fait Le conteneur se branche sur le socket Docker en lecture seule (il ne crée, ne démarre et n'arrête jamais de conteneurs) et découvre automatiquement tout ce qui tourne. À partir de là : Suivi des conteneurs : états (running, stopped, restarting), health checks Docker natifs, détection de boucles de redémarrage, groupement automatique par projet Compose Métriques de ressources : CPU, mémoire, réseau et I/O disque par conteneur, avec une vue "top consumers" pour identifier rapidement les gourmands Monitoring d'endpoints : sondage actif HTTP/TCP avec suivi des temps de réponse, codes de statut, correspondance de mots-clés, seuils configurables Monitoring de cron jobs : URLs de heartbeat uniques — votre tâche planifiée envoie un ping, Maintenant vous alerte si le ping n'arrive pas Certificats SSL/TLS : détection automatique depuis les endpoints HTTPS, vérification de chaîne complète, alertes avant expiration (30j, 14j, 7j, 3j, 1j) Détection des mises à jour : scan des registres OCI (Docker Hub, GHCR, etc.), comparaison de digests et de tags semver, signalement des sauts de version critiques, commandes de mise à jour et rollback intégrées (Compose-aware) Analyse de sécurité réseau : détection automatique des configurations dangereuses — ports de bases de données exposés sur 0.0.0.0, conteneurs en mode privileged ou host-network, et pour Kubernetes, NodePort/LoadBalancer sans NetworkPolicy Page de statut publique : intégrée, personnalisable, reflète automatiquement l'état des monitors Serveur MCP : serveur Model Context Protocol intégré avec authentification OAuth2, pour requêter l'état de l'infrastructure depuis un assistant IA compatible Stack technique Le choix technique central est la simplicité de déploiement : Binaire unique Go compilé statiquement, avec le frontend Vue 3 + TypeScript + Tailwind embarqué via embed.FS SQLite en mode WAL pour le stockage — pas de base de données externe, pas de Redis, pas de file de messages SSE (Server-Sent Events) pour les mises à jour temps réel dans le navigateur — plus simple que les WebSockets, fonctionne à travers n'importe quel reverse proxy sans configuration particulière Moins de 20 Mo de RAM au repos Image multi-architecture : amd64 et arm64 PWA : installable sur mobile L'authentification n'est volontairement pas intégrée — Maintenant est conçu pour fonctionner derrière un reverse proxy avec middleware d'authentification (Authelia, Authentik, OAuth2 Proxy…), exactement comme Dozzle ou Prometheus. Les endpoints de heartbeat (/ping/{uuid}) et la page de statut publique sont prévus pour être accessibles sans authentification. La configuration est possible soit par labels Docker sur les conteneurs, soit par l'interface web : labels: maintenant.endpoint.http: "https://api:3000/health" maintenant.endpoint.interval: "15s" maintenant.alert.severity: "critical" maintenant.group: "production" Support Kubernetes Maintenant détecte automatiquement s'il tourne dans un cluster Kubernetes (via le compte de service) ou sur Docker (via le socket). Un ClusterRole read-only (maintenant-reader) suffit. Le monitoring se fait au niveau des workloads (Deployments, DaemonSets, StatefulSets) avec filtrage par namespace. Modèle économique Le projet suit un modèle open-core : L'édition Community est complète et utilisable sans restriction pour un usage solo : monitoring conteneurs, endpoints, heartbeats, certificats, mises à jour, sécurité réseau, page de statut, support Kubernetes, alertes par webhooks et Discord, API REST + SSE. L'édition Pro (9 €/mois ou 90 €/an) ajoute des canaux d'alerte supplémentaires (Slack, Microsoft Teams, Email/SMTP), la détection de CVE via OSV.dev, un tableau de bord de posture sécurité, la gestion d'incidents, les fenêtres de maintenance et les notifications aux abonnés de la page de statut. L'intégralité du code source, y compris les fonctionnalités Pro, est visible sur GitHub sous AGPL-3.0. Le tier Pro est déverrouillé au runtime par une clé de licence — même binaire, même image Docker. Déploiement rapide services: maintenant: image: ghcr.io/kolapsis/maintenant:latest ports: - "8080:8080" volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /proc:/host/proc:ro - maintenant-data:/data environment: MAINTENANT_ADDR: "0.0.0.0:8080" MAINTENANT_DB: "/data/maintenant.db" restart: unless-stopped volumes: maintenant-data: Trente secondes plus tard, l'interface affiche tous vos conteneurs. Aucune configuration nécessaire. Comparaison avec les outils existants Maintenant Uptime Kuma Portainer Dozzle Prometheus+Grafana Auto-découverte conteneurs Oui Non Oui Oui Via cAdvisor Monitoring endpoints HTTP/TCP Oui Oui Non Non Via Blackbox Monitoring cron/heartbeat Oui Oui Non Non Non Certificats SSL Oui Oui Non Non Via exporter Métriques CPU/RAM/réseau Oui Non Limité Non Oui Détection mises à jour images Oui Non Oui Non Non Sécurité réseau Oui Non Non Non Non Page de statut Oui Oui Non Non Non Dépendances externes Aucune Node.js Docker API Docker API 3+ conteneurs Télécharger ce contenu au format EPUB Commentaires : voir le flux Atom ouvrir dans le navigateur
← Retour