Dokploy is built on Docker Swarm with Traefik in front, which is a good architecture and an awkward one to monitor. Most lightweight tools list containers; on Swarm that is the wrong unit. A service with three replicas is not three unrelated containers, and a task that failed and was rescheduled is not a container that vanished.
Maintenant detects the runtime at boot and reports in Swarm’s own terms.
Install on the manager node
Deploy it through Dokploy as a Docker Compose service, on the manager:
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:
The manager placement matters: Swarm state is only readable from a manager socket. Give it a domain in Dokploy so Traefik terminates TLS, and put authentication in front — Maintenant deliberately ships none.
What it shows on a Dokploy fleet
- Services, with desired versus running replicas, so a partially-scheduled service is visible as such;
- Tasks, including the ones that failed and were rescheduled — the history Swarm keeps and most dashboards drop;
- Nodes, their availability and the tasks placed on them;
- Endpoints, checked from outside, so a service that is running but returning 502 through Traefik still alerts;
- Certificates, auto-detected from those endpoints;
- Cron and background jobs, through heartbeat URLs, with alerts on missed deadlines;
- Image updates, by digest comparison against the registry.
The combination that matters on a PaaS is the second and the fourth: Swarm will happily reschedule a task forever while every replica returns errors. Watching the service alone tells you it is “running”.
Multi-node and licensing
Community covers the machine it runs on, which for a single-server Dokploy install is the whole thing. Once you add worker nodes, enroll them with a lightweight agent — up to 20 machines on Personal, unlimited on Pro. If the servers belong to a client rather than to you, Pro is the edition that grants commercial use; there is a page about exactly that.
For the mechanics of Swarm monitoring independent of Dokploy, read the Docker Swarm monitoring guide.