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
| Maintenant | Uptime Kuma | Portainer | Dozzle | |
|---|---|---|---|---|
| Auto-discovery containers | Oui | Non | Oui | Oui |
| Monitoring HTTP/TCP | Oui | Oui | Non | Non |
| Heartbeats/cron | Oui | Oui | Non | Non |
| Certificats TLS | Oui | Oui | Non | Non |
| Métriques CPU/mémoire/réseau | Oui | Non | Limité | Non |
| Détection de mises à jour | Oui | Non | Oui | Non |
| Sécurité réseau | Oui | Non | Non | Non |
| Page de statut publique | Oui | Oui | Non | Non |
| Binaire unique, zéro deps | Oui | Node.js | Docker API | Docker 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