← Retour aux articles
24 March 2026 3 min de lecture MonitoringSelf-HostingGoDockerKubernetes

Maintenant — Monitorer tout. Ne rien configurer.

Maintenant remplace 3 à 5 outils de monitoring par un seul conteneur. Containers, endpoints, certificats TLS, heartbeats, métriques et page de statut — sans configuration.

La plupart des self-hosters jonglent entre 3 et 5 outils pour surveiller leur stack : un pour les containers, un pour l’uptime, un pour les certificats, un pour les métriques, et encore un autre pour la page de statut. J’ai construit Maintenant pour les remplacer tous.

Le problème

Uptime Kuma pour les endpoints. Portainer ou Dozzle pour les containers. Certbot + un script maison pour les certificats. Prometheus + Grafana pour les métriques. Et encore un outil pour la page de statut publique.

Chaque outil a sa propre interface, sa propre configuration, ses propres alertes. Le monitoring devient lui-même une charge à maintenir.

Un seul conteneur, zéro configuration

Maintenant est un binaire Go unique avec le frontend embarqué (Vue 3 + TypeScript). Un seul conteneur Docker suffit :

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"

docker compose up -d — vos containers apparaissent immédiatement. Pas de configuration, pas de fichier YAML à écrire.

Ce que Maintenant surveille

Containers — Auto-discovery Docker et Kubernetes. Chaque container est suivi dès son démarrage : changements d’état, health checks, boucles de redémarrage, streaming de logs.

Endpoints HTTP/TCP — Définis directement via des labels Docker. Temps de réponse, historique d’uptime, sparklines sur 90 jours.

labels:
  maintenant.endpoint.http: "https://api:3000/health"
  maintenant.endpoint.interval: "15s"
  maintenant.endpoint.failure-threshold: "3"

Certificats TLS — Détection automatique depuis vos endpoints HTTPS. Alertes à 30, 14, 7, 3 et 1 jour avant expiration. Validation complète de la chaîne.

Heartbeats & Cron — Un monitor, une URL unique, un curl dans votre crontab. Maintenant traque les durées, les codes de sortie, et alerte quand un job manque sa deadline.

curl -fsS -o /dev/null https://now.example.com/ping/{uuid}/$?

Métriques système — CPU, mémoire, réseau et disque I/O par container. Graphiques historiques, seuils d’alerte par container avec debounce.

Mises à jour — Scan des registres OCI, comparaison de digests. Plus besoin de docker pull à l’aveugle.

Sécurité réseau — Détection automatique de configurations réseau dangereuses : ports exposés sur 0.0.0.0, bases de données accessibles, mode host-network, containers privilégiés.

Page de statut publique — Groupes de composants, mises à jour SSE en temps réel, agrégation de sévérité.

Comparaison

MaintenantUptime KumaPortainerDozzle
Auto-discovery containersOuiNonOuiOui
Monitoring HTTP/TCPOuiOuiNonNon
Heartbeats/cronOuiOuiNonNon
Certificats TLSOuiOuiNonNon
Métriques CPU/mémoire/réseauOuiNonLimitéNon
Détection de mises à jourOuiNonOuiNon
Sécurité réseauOuiNonNonNon
Page de statut publiqueOuiOuiNonNon
Binaire unique, zéro depsOuiNode.jsDocker APIDocker API

Architecture

  • Single binary — Frontend embarqué via embed.FS. Un seul fichier à déployer.
  • Zéro dépendance externe — SQLite en WAL mode. Pas de Redis, pas de Postgres.
  • Temps réel — SSE push chaque changement d’état au navigateur instantanément.
  • Read-only — Maintenant ne touche jamais à vos containers. Observation uniquement.
  • Label-driven — Configuration via labels Docker. Aucun YAML à maintenir.
  • ~17 MB de RAM — Assez léger pour tourner sur un VPS ou un Raspberry Pi.

Serveur MCP intégré

Maintenant inclut un serveur Model Context Protocol natif. Interrogez votre infrastructure, lisez les logs et vérifiez les alertes depuis n’importe quel assistant IA compatible MCP — Claude, Cursor, ou tout autre client. Support stdio et Streamable HTTP avec authentification OAuth2.

Open-Core

La version Community est complète : containers, endpoints, heartbeats (10 max), certificats, métriques, alertes webhook/Discord, page de statut, API REST, SSE et MCP.

La version Pro ajoute : canaux Slack/Teams/Email, escalade d’alertes, fenêtres de maintenance, dashboard sécurité avancé, enrichissement CVE, gestion d’incidents et notifications aux abonnés.

Le code est disponible sur GitHub sous licence AGPL-3.0.


Maintenant tourne déjà en production sur mes propres serveurs. Si vous en avez marre de jongler entre 5 outils pour monitorer votre stack, essayez-le.

Besoin d'aide sur ce sujet ?

Réserver un créneau