Self-Hosted Alternatives to OpsGenie
Why Replace OpsGenie?
OpsGenie costs $9–$29 per user per month for alert management and on-call scheduling. For a 10-person ops team, that’s $1,080–$3,480 per year. Atlassian acquired OpsGenie in 2018 and has been pushing integration with Jira Service Management, creating vendor lock-in. Your alert routing rules, escalation policies, and on-call history all live on Atlassian’s infrastructure.
Updated March 2026: Verified with latest Docker images and configurations.
Self-hosted alternatives give you full control over your alerting pipeline, zero per-seat costs, and independence from Atlassian’s pricing changes.
Best Alternatives
Grafana OnCall — Best Overall Replacement
Grafana OnCall is purpose-built for on-call management with escalation chains, on-call scheduling, and integrations with monitoring tools. It plugs directly into Grafana’s ecosystem (Alertmanager, Loki, Prometheus) and supports SMS, phone calls, Slack, Telegram, and email notifications.
The open-source version includes: on-call schedules with overrides, escalation policies, alert grouping, Slack and Telegram integration, and a ChatOps workflow. The main limitation vs OpsGenie: fewer native integrations with non-Grafana monitoring tools.
ntfy + Uptime Kuma — Best Simple Stack
For teams that don’t need complex escalation policies, combining ntfy (push notifications) with Uptime Kuma (monitoring) creates a lightweight alerting stack. Uptime Kuma monitors your services and sends alerts via ntfy to your phone. No per-seat pricing, no complex setup.
This stack works well for: small teams, personal infrastructure, and situations where “alert everyone immediately” is sufficient without rotation schedules.
[Read our full guide: How to Self-Host ntfy]
Prometheus Alertmanager — Best for Existing Prometheus Users
If you already run Prometheus, Alertmanager is the natural choice. It handles alert deduplication, grouping, silencing, and routing. Configure receivers for email, Slack, PagerDuty, OpsGenie (for hybrid setups), or ntfy via webhook.
Alertmanager doesn’t include on-call scheduling — combine it with Grafana OnCall for that. But for alert routing and management, it’s the industry standard.
Gotify — Best for Personal Alerting
Gotify is a lightweight push notification server with an Android app. It’s ideal for personal infrastructure monitoring where you’re the only person on call. No escalation policies, no scheduling — just send alerts to your phone.
[Read our full guide: How to Self-Host Gotify]
Migration Guide
Exporting from OpsGenie
- Alert policies: Document your routing rules and escalation chains manually (no bulk export)
- On-call schedules: Export via OpsGenie API (
/v2/schedules) or screenshot existing rotations - Integration configs: List all connected monitoring tools and their webhook URLs
- Historical alerts: Export via API for compliance if needed
Building Your Self-Hosted Stack
For teams needing on-call scheduling:
- Deploy Grafana OnCall as part of your Grafana stack
- Recreate on-call schedules and escalation policies
- Point monitoring tool webhooks to Grafana OnCall
- Configure notification channels (Slack, email, phone)
For simple alerting needs:
- Deploy ntfy for push notifications
- Deploy Uptime Kuma for service monitoring
- Configure Uptime Kuma to send alerts via ntfy
- Add notification topics per service or severity
Cost Comparison
| OpsGenie (10 users) | Self-Hosted (Grafana OnCall) | |
|---|---|---|
| Monthly cost | $90–$290/month | $5–$15/month (VPS) |
| Annual cost | $1,080–$3,480/year | $60–$180/year |
| On-call scheduling | Built-in | Built-in |
| Escalation policies | Built-in | Built-in |
| Phone/SMS alerts | Included | Via Twilio (pay-per-use) |
| Mobile app | Yes | Via Grafana Cloud app |
| Integrations | 200+ | 20+ (growing) |
| Data location | Atlassian cloud | Your server |
What You Give Up
- Managed SMS/phone calling: OpsGenie handles SMS and voice calls natively. Self-hosted options need Twilio or similar, adding complexity and per-message costs.
- 200+ native integrations: OpsGenie connects to nearly every monitoring, ITSM, and communication tool. Self-hosted alternatives cover the major ones but have fewer pre-built connectors.
- Alert intelligence: OpsGenie’s ML-based alert correlation and noise reduction. Self-hosted relies on manual deduplication rules in Alertmanager.
- Stakeholder notifications: OpsGenie’s “Stakeholder” role for broadcasting incident updates to non-technical stakeholders. Grafana OnCall focuses on technical responders.
- Post-incident reports: OpsGenie generates post-mortem templates from alert timelines. Self-hosted requires manual report creation.
- Global phone infrastructure: OpsGenie has global phone call routing. Twilio integration requires separate setup per region.
Frequently Asked Questions
Can Grafana OnCall handle SMS and phone call alerts like OpsGenie?
Grafana OnCall supports SMS and phone calls through integration with Twilio. You provide your Twilio credentials, and OnCall routes alerts through it. Per-message costs apply ($0.0079/SMS, ~$0.013/min for calls), but at typical alert volumes this amounts to a few dollars per month — far less than OpsGenie’s per-seat pricing.
How do I set up escalation policies without OpsGenie?
Grafana OnCall has built-in escalation chains. Define steps like “notify primary on-call → wait 5 minutes → notify secondary → wait 10 minutes → notify team lead.” Each step can use different channels (Slack, SMS, phone). The configuration is YAML-based or through the web UI, similar to OpsGenie’s policy builder.
Can I integrate Prometheus alerts with a self-hosted on-call system?
Yes. Prometheus Alertmanager sends alerts via webhook to Grafana OnCall. Configure a receiver in alertmanager.yml pointing to your OnCall endpoint. OnCall handles routing, escalation, and acknowledgment. If you don’t need on-call scheduling, Alertmanager alone can route alerts directly to Slack, email, or ntfy.
Is there a self-hosted paging system with a mobile app?
Grafana OnCall integrates with the Grafana Cloud mobile app for push notifications. For fully self-hosted mobile alerts, ntfy has Android and iOS apps that receive push notifications instantly. Combine ntfy with Uptime Kuma for a complete self-hosted paging stack without any cloud dependency.
How do I migrate my on-call schedules from OpsGenie?
Export your OpsGenie schedules via their API (GET /v2/schedules). Document rotation patterns, override rules, and timezone settings. Recreate them in Grafana OnCall’s schedule builder — the concepts map directly (primary/secondary rotations, overrides, time restrictions). There’s no automated migration tool, so plan 1-2 hours for a typical team setup.
Can self-hosted alerting handle alert deduplication and grouping?
Prometheus Alertmanager handles deduplication natively — identical alerts within a configurable time window are grouped automatically. Grafana OnCall adds alert grouping by integration, with configurable grouping keys. Together they match OpsGenie’s noise reduction for most use cases. The main gap is OpsGenie’s ML-based correlation, which requires manual rules in the self-hosted stack.
What’s the minimum hardware needed to run a self-hosted on-call stack?
Grafana OnCall with its database needs ~1 GB RAM. Add Prometheus (~500 MB for small deployments) and Alertmanager (~100 MB). A 2 GB VPS handles the full stack for teams of 20+. If you only need simple alerting, ntfy plus Uptime Kuma together use under 200 MB RAM total.
Related
Get self-hosting tips in your inbox
Get the Docker Compose configs, hardware picks, and setup shortcuts we don't put in articles. Weekly. No spam.
Comments