📊 Monitoring & Observability

Self-Hosted Cron Monitor

Node.js Docker Compose stack that monitors cron jobs via heartbeat URLs. Alerts via email if a job misses its schedule. Simple alternative to Dead Man's Snitch.

Self-Hosted Cron Monitor

Docker Compose stack that monitors scheduled jobs via heartbeat URLs. Each cron job pings a unique URL after completing; if the ping does not arrive within the expected window, the monitor sends an email alert. A lightweight self-hosted alternative to Dead Man's Snitch or Cronitor.

What Is Included

  • Monitor Service — Node.js app that tracks heartbeat URLs and their expected schedules
  • Dashboard — Web UI showing all monitored jobs, last ping time, and current status
  • Email Alerting — Sends an alert when a job misses its schedule; sends a recovery email when it resumes
  • REST API — GET /ping/:token endpoint that cron jobs call after each successful run

How It Works

  • Run docker compose up -d
  • Open the dashboard and create a monitor: set the name, expected schedule, and grace period
  • Append the generated ping URL to your cron job: your-command && curl -s http://monitor/ping/TOKEN
  • If the URL is not called within schedule plus grace period, an email alert fires automatically

What You Get

  • docker-compose.yml — Node.js app with SQLite storage and persistent volume
  • Dockerfile — Node 22 Alpine image
  • src/ — full application source (editable)
  • .env.example — SMTP settings and alert email address
  • README.md — setup guide and cron integration examples

Service URLs

ServiceURL
Dashboardhttp://localhost:3000
Ping endpointhttp://localhost:3000/ping/:token

Requirements

Docker Engine with the Compose plugin. SMTP credentials for outgoing alert emails (Gmail app password, SendGrid free tier, or similar).

$7.00
  • Instant download after purchase
  • Link valid for 48 hours
  • Up to 3 downloads per license
  • Secure, private delivery
Payments secured by Stripe