Fonctionnalités Démo Tarifs Guides Alternatives Blog Docs Mon compte English Acheter une licence GitHub

Serveur MCP intégré · Docker, Swarm, Kubernetes

Surveillez vos serveurs Docker depuis un seul conteneur.

Conteneurs, endpoints, certificats TLS, tâches cron, ressources des hôtes et mises à jour d'images. Un seul outil au lieu d'Uptime Kuma, Healthchecks, un vérificateur de certificats et une pile Grafana.

Lecture seule : il ne démarre, n'arrête ni ne modifie aucun conteneur. Environ 100 Mo de RAM sur un hôte chargé.

Gratuit sur un serveur. Personal 149 € TTC une fois. Pro 29 €/mois HT. Voir les tarifs

  • Environ 100 Mo de RAM sur un hôte chargé
  • Lecture seule sur le socket Docker
  • Docker · Swarm · Kubernetes
  • Apache 2.0 cœur open source

Cinq outils pour surveiller un serveur.

Uptime Kuma pour le HTTP, Healthchecks pour les crons, Prometheus, cAdvisor et Grafana pour les métriques, un script pour les certificats. Cinq choses à installer, mettre à jour et sécuriser, et aucune ne voit la stack entière.

Maintenant est un seul conteneur qui lit le socket Docker et trouve tout seul ce qui tourne. Endpoints et certificats se déclarent en labels Docker, à côté du service qu'ils surveillent.

Ce qu'il surveille

Conteneurs
Trouvés tout seuls sur Docker, Swarm et Kubernetes. États, health checks, boucles de redémarrage, logs.
Endpoints
Sondes HTTP et TCP avec latence et code de retour attendu, déclarées en labels Docker.
Tâches cron
Une URL de ping par tâche. Une alerte quand une exécution est en retard ou échoue.
Certificats TLS
Trouvés sur vos endpoints HTTPS. Alertes à 30, 14, 7, 3 et 1 jour de l'expiration.
Mises à jour et CVE
Quels conteneurs ont une image plus récente et, en Personal, quelles vulnérabilités connues ils embarquent.
Exposition
Ports publiés sur toutes les interfaces, conteneurs privilégiés ou en réseau hôte, OS de l'hôte en fin de support.
Status page
Publique et en direct, construite à partir de vos sondes. Pro ajoute les abonnés et la personnalisation.
Plusieurs serveurs
Personal Des agents en lecture seule sur vos autres hôtes, un seul tableau de bord pour tous. Comment ça marche
Serveur MCP
Claude Code, OpenCode ou n8n lisent vos conteneurs, vos logs et vos alertes, et rien d'autre.

Toutes les fonctions, édition par édition

Voyez-le tourner avant d'installer quoi que ce soit.

La démo tourne en édition Pro, toutes fonctions débloquées, sur de vrais conteneurs. Sans compte, sans installation. Ouvrez les alertes, la status page, la posture de sécurité et la vue multi-serveurs.

Ouvrir la démo en ligne
Agents multi-serveurs : supervisez toute votre flotte depuis un seul serveur Posture de sécurité : vue d'ensemble des vulnérabilités, scores de risque Page de statut publique : tous les systèmes opérationnels

Maintenant surveille. Votre agent enquête.

La boucle tient en trois étapes.

  1. Détecter

    Des règles fixes décident que quelque chose est en panne : échecs consécutifs, seuils dépassés, échéances manquées, redémarrages en boucle. Aucun modèle n'intervient : une alerte n'est donc jamais inventée, et rien n'est dépensé tant que tout va bien.

  2. Envoyer

    L'alerte part sous forme de webhook : alert.fired quand elle démarre, alert.resolved quand elle se termine, avec l'hôte concerné (agent_id) et un lien pour y revenir.

  3. Enquêter

    Votre agent reçoit l'alerte et interroge le serveur MCP intégré : les logs du conteneur, l'historique des checks de l'endpoint, le CPU et la mémoire, les autres alertes actives sur le même hôte. Vous obtenez un diagnostic, pas seulement un voyant rouge.

Voir la configuration

Avec Claude Code

Un petit récepteur (Python, bibliothèque standard uniquement) tourne sur l'hôte, à côté de Maintenant. Chaque alerte déclenchée lance une session Claude Code sans interface, qui ne peut appeler que les outils MCP de Maintenant en lecture seule. Le diagnostic est écrit dans reports/<alert-id>.md.

# sur l'hôte, à côté de Maintenant
export RECEIVER_TOKEN=$(openssl rand -hex 32)
python3 examples/agent-webhook/receiver.py  # écoute sur 127.0.0.1:9099

# ce que le récepteur lance pour chaque alerte
claude -p "maintenant just fired this alert: {...} Investigate it read-only." \
  --mcp-config mcp.json --strict-mcp-config --tools "" \
  --allowedTools mcp__maintenant__list_alerts \
                 mcp__maintenant__get_container_logs \
                 mcp__maintenant__get_endpoint_history \
                 mcp__maintenant__get_resources

mcp.json joint Maintenant en stdio avec docker exec -i maintenant /app/maintenant --mcp-stdio : aucun port MCP n'est ouvert. Pointez un canal webhook vers le récepteur avec un en-tête Authorization: Bearer, puis routez les alertes vers lui avec un trigger.

Avec OpenCode, le même récepteur appelle opencode run au lieu de claude -p, et Maintenant est déclaré comme serveur MCP local dans opencode.json.

Avec n8n, un déclencheur Webhook alimente un nœud AI Agent dont l'outil MCP Client pointe vers le endpoint /mcp de votre instance.

Lire le guide des agents IA

Installez avec un seul fichier compose.

# docker-compose.yml
services:
  maintenant:
    image: ghcr.io/kolapsis/maintenant:latest
    ports:
      - "8080:8080"
    read_only: true
    security_opt:
      - no-new-privileges:true
    tmpfs:
      - /tmp:noexec,nosuid,size=64m
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /proc:/host/proc:ro
      - /etc/os-release:/host/etc/os-release:ro
      - maintenant-data:/data
    environment:
      MAINTENANT_ADDR: "0.0.0.0:8080"
      MAINTENANT_DB: "/data/maintenant.db"
    restart: unless-stopped
volumes:
  maintenant-data:
Avant de le mettre sur un réseau

C'est un premier lancement sur votre machine. Il publie le 8080 sur toutes les interfaces, ce qui laisse l'API d'administration ouverte à qui atteint l'hôte, et monter le socket en lecture seule protège le fichier, pas l'API Docker derrière. Gardez maintenant derrière un reverse proxy qui authentifie, et passez par un proxy de socket pour joindre Docker. Lire le guide sécurité

Les conteneurs apparaissent tout seuls. Ajoutez un label pour surveiller un endpoint. Une clé achetée plus tard ? Renseignez MAINTENANT_LICENSE_KEY et redémarrez : même conteneur, mêmes données.

Compatible Docker Engine 19.03+ et Kubernetes · Linux amd64/arm64 · macOS · WSL2

Face aux autres outils

Des comparatifs honnêtes, qui disent aussi ce que chaque outil fait mieux.

Voyez les éditions payantes tourner.

La démo a toutes les fonctions Pro activées. Quand vous savez quelle édition vous convient, la page tarifs dit le reste.

Ou installez-le gratuitement