Here's a scenario that plays out in almost every small engineering team I've spoken with:
- A container OOMKills at 2 AM.
- Docker restarts it automatically.
- The service comes back up, slightly degraded.
- Nobody is paged because "the service is technically running."
- Six hours later, a customer reports stale data.
The restart masked the problem. The alert never fired. And now the team is debugging a ghost.
Why this happens
Docker and Docker Compose are excellent for running containers. They are terrible at telling you when something goes wrong.
docker events exists, but nobody is watching it. Health checks exist, but only catch a container that's fully down — not one that's cycling restarts every five minutes.
The gap is runtime signal without operational visibility:
| What Docker gives you | What you actually need |
|---|---|
| Container status (running/stopped) | Exit reason + frequency |
| Restart count | Alert when restarts exceed threshold |
| Logs (when you pull them) | Proactive log streaming to Slack |
| Health check pass/fail | Trend over time |
Who feels this most
- Indie hackers and small teams running self-hosted apps on a single VPS.
- Early-stage startups that moved fast and haven't wired up full observability yet.
- Freelancers managing production servers for clients.
Datadog and New Relic solve this — for $500+/month and a two-week integration project. That's not a viable option for a $30/month VPS.
The pain point in one sentence
There's no lightweight, affordable way to get alerted when Docker containers crash, cycle, or degrade — without setting up a full observability stack.
What a lightweight alert tool looks like
A single binary that:
- Connects to the Docker socket
- Watches for OOMKills, restarts, and exit codes
- Sends Slack/email notifications with context (container name, exit code, last 20 log lines)
No Kubernetes required. No cloud agent. Just install it next to your containers.
If you're managing Docker in production on a VPS, start with restart-count thresholds — even a cron job that alerts when docker ps shows high restart counts beats complete silence.
Related reading
- Why Email Deliverability Is Still Broken in 2025 — another production problem that fails silently