← all SaaS
Self-host PagerDuty
On-call rotation / incident response / paging
PagerDuty handles on-call rotations, escalation policies, and the actual phone-call/SMS paging for incidents. Self-hosting the rotation logic and a web dashboard is straightforward; the part you usually still pay for is the SMS/voice gateway (Twilio works as the upstream).
PagerDuty pricing anchor: $21-41/user/mo on Professional/Business — bill scales linearly with on-call headcount.
- GitHub
- ★ 11.8k · last commit 7d ago · 559 open issues
- License
-
MIT Core is MIT; the `ee/` directory ships under a separate Keep Enterprise license. The non-EE surface (alert ingestion, providers, workflows, UI) is what you want for self-hosted on-call replacement, and that part is OSI-MIT.
- Setup time
- 30min docker-compose (keep-frontend + keep-backend + websocket-server; SQLite default, swap to Postgres via `DATABASE_CONNECTION_STRING`)
- Monthly cost
- $10-20 VPS; SMS/voice via Twilio at the usual per-leg rate ($0.0075-0.05/leg).
Migration sketch. Keep is an alert orchestration / AIOps platform with first-class on-call workflows, not a 1-1 PagerDuty clone. Migration path: (1) connect PagerDuty as a *source* provider in Keep to mirror existing alerts and incidents while you cut over; (2) wire your alert producers (Prometheus, Grafana, Sentry, Datadog — all have first-class providers under `keep/providers/`) to Keep's webhook endpoints; (3) configure the Twilio provider for SMS/voice paging; (4) build workflows for dedup/correlation/escalation in Keep's workflow YAML. PagerDuty schedules don't import directly — recreate them as Keep workflows or pair with a calendar source.
Good fit forTeams that want alert dedup, correlation, and workflow automation alongside on-call paging — i.e. the noisy-alerts problem and the on-call problem solved by the same tool. Currently the most actively maintained option in this category.
Weak atPure on-call scheduling UI is thinner than PagerDuty's — Keep leads with alert orchestration, not rotation calendars. If all you need is 'who's on-call this week', the workflow surface is more than you'll use.
- GitHub
- ★ 3.88k · last commit 7w ago · 502 open issues
- License
-
AGPL-3.0 - Setup time
- 30min docker-compose (OnCall engine + Postgres + Redis + Celery worker)
- Monthly cost
- $10-15 VPS; SMS/voice still costs at Twilio's per-leg rate ($0.0075-0.05/leg).
Migration sketch. Export PagerDuty schedules + escalation policies via the PagerDuty API (`GET /schedules`, `GET /escalation_policies`). Import into Grafana OnCall via its admin API or the Terraform provider — the data model is similar (users, teams, schedules, routes). Wire your alert source (Prometheus, Grafana, Sentry) to OnCall's webhook integration; configure Twilio under OnCall settings for SMS/voice.
Good fit forTeams already running Grafana / Prometheus that want on-call to live next to dashboards.
Weak at**Repository archived 2026-03-24** — Grafana announced end-of-development; the freshness pill on this page reflects that. Existing self-hosted deploys keep running, but no upstream fixes are coming. Web UI is functional, not polished; mobile app exists but is thinner than PagerDuty's.
- GitHub
- ★ 1.25k · last commit 9mo ago · 78 open issues
- License
-
BSD-2-Clause - Setup time
- 30min docker-compose (Oncall + MySQL + Iris for paging)
- Monthly cost
- $10 VPS; pair with Iris (sister project) for paging — same upstream Twilio cost.
Migration sketch. LinkedIn's Oncall is purely the rotation/calendar layer; pair it with `linkedin/iris` for actual paging. Migration: dump PagerDuty schedules to JSON, write a script that POSTs them as Oncall events. Wire alert sources to Iris webhooks instead of PagerDuty's. There is no UI mass-importer — the API path is the realistic one.
Good fit forLarger orgs that already use Iris for paging and want a calendar-shaped rotation tool with strong audit logs.
Weak at**Last commit Aug 2025** — repo is unarchived but no longer actively pushed (freshness pill: stale). Two-component setup (Oncall + Iris); UI looks 2018; less active than Keep or pre-archive Grafana OnCall.
- GitHub
- ★ — · last commit unknown
- License
-
MIT - Setup time
- 20min docker-compose (Cabot + Postgres)
- Monthly cost
- $5 VPS; SMS via Twilio at the usual per-leg rate.
Migration sketch. Cabot is closer to a self-hosted Pingdom + paging combo. Migration from PagerDuty: recreate users, on-duty schedules, and notification preferences in Cabot's admin UI; point your monitoring (Sensu, Prometheus, custom HTTP checks) at Cabot's webhook endpoints. There is no PagerDuty importer — manual setup is the path.
Good fit forSmall teams that want a simple on-call + uptime monitoring combo in one app, without the Grafana ecosystem dependency.
Weak at**GitHub repo returns 404** — `cabotapp/cabot` is no longer reachable on github.com (renamed, deleted, or moved); freshness pill renders as `unknown`. Treat as unmaintained until a successor namespace is confirmed. Maintenance had already slowed for years; fewer integrations than Keep.
In a terminal? npx os-alt pagerduty prints this table —
how the CLI works →