Pas de long préambule. Vous avez un stack Docker Compose, vous voulez le monitorer. Voici comment, en 2 minutes chrono.
Étape 1 : Ajoutez Maintenant à votre stack
Ouvrez votre docker-compose.yml et ajoutez ce service :
services:
# ... vos services existants ...
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:
Étape 2 : Lancez
docker compose up -d maintenant
Étape 3 : Ouvrez le dashboard
Rendez-vous sur http://votre-serveur:8080. Tous vos conteneurs sont déjà là, avec leur état, leur uptime, et leurs health checks.

Temps écoulé : environ 30 secondes.
Bonus : ajoutez des endpoints HTTP
Vous voulez vérifier que votre API répond correctement ? Ajoutez des labels à vos services :
services:
api:
image: myapp:latest
labels:
maintenant.endpoint.http: "http://api:3000/health"
maintenant.endpoint.interval: "15s"
postgres:
image: postgres:16
labels:
maintenant.endpoint.tcp: "postgres:5432"
Relancez avec docker compose up -d et les endpoints apparaissent dans le dashboard.

Bonus : ajoutez des alertes Discord
Configurez un webhook Discord dans le dashboard Maintenant, et recevez des notifications quand quelque chose ne va pas. Conteneur crashé, endpoint down, certificat qui expire, tout passe par le même canal.

Et derrière un reverse proxy ?
Si vous utilisez Traefik (et vous devriez), ajoutez les labels habituels :
services:
maintenant:
image: ghcr.io/kolapsis/maintenant:latest
labels:
traefik.enable: "true"
traefik.http.routers.maintenant.rule: "Host(`now.example.com`)"
traefik.http.routers.maintenant.middlewares: "authelia@docker"
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"
MAINTENANT_BASE_URL: "https://now.example.com"
Maintenant est protégé par votre middleware d’authentification (Authelia, Authentik, OAuth2 Proxy), exactement comme vos autres services.
C’est tout. Votre stack est monitorée.
Voir toutes les fonctionnalités →