# Found Better Pagerduty Alternative

> Source: <https://github.com/FluidifyAI/Regen>
> Published: 2026-07-13 00:49:29+00:00

Part of the [FluidifyAI](https://fluidify.ai) open-source suite

Unlimited alert noise reduction and incidents, unlimited on-call schedules, and unlimited AI postmortems and handoff digests with 1-click Import from Grafana Oncall/Pagerduty

### - AI incident summaries, Post-mortem, Handoffs Summaries with Slack/Teams synch (BYO key — OpenAI/Anthropic/Ollama)

| Category | Tools |
|---|---|
Alert ingestion |
Prometheus Alertmanager · Grafana · AWS CloudWatch · Generic webhook |
Chat |
Slack · Microsoft Teams · Telegram |
AI |
OpenAI · Anthropic · Ollama (BYO key — local or cloud) |
Auth |
SAML 2.0 — Okta · Azure AD · Google Workspace · any compliant IdP |
Migration |
Grafana OnCall · PagerDuty |
Deploy |
Docker Compose · Kubernetes Helm · bare metal |

| Regen | PagerDuty | incident.io | Grafana OnCall | |
|---|---|---|---|---|
| Price | Free | $21–50/user/mo | $30+/user/mo | Archived |
| Self-hosted | ✅ | ❌ | ❌ | ✅ (archived) |
| Open source | AGPLv3 | ❌ | ❌ | Apache 2.0 |
| SSO | ✅ Free | 💰 Paid | 💰 Paid | ✅ Free |
| BYO AI | ✅ | ❌ | ❌ | ❌ |
| Agent-native | ✅ | ❌ | ❌ | ❌ |
| Alert + incident + on-call in one | ✅ | 💰💰💰 Paid | 💰💰💰 Paid | 💰💰💰 Paid |
| 1-Click imports | ✅ | ❌ | ❌ | ❌ |

[PagerDuty](/FluidifyAI/Regen/blob/main/docs/migrations/pagerduty.md)— schedules, escalation policies, EU region supported[Grafana OnCall](/FluidifyAI/Regen/blob/main/docs/migrations/grafana-oncall.md)— drop-in replacement for the archived OSS project

**Quickest start — Docker Compose:**

```
git clone https://github.com/FluidifyAI/Regen.git
cd Regen
cp .env.example .env   # add your Slack token, AI key, etc.
make start
```

Open ** http://localhost:8080** — create your admin account on first load.

For detailed guides, see:

[Full installation guide](/FluidifyAI/Regen/blob/main/docs/getting-started/installation.md)— prerequisites, env vars, health checks[Docker Compose self-hosting](/FluidifyAI/Regen/blob/main/docs/self-hosting/docker-compose.md)— production setup[Kubernetes / Helm](/FluidifyAI/Regen/blob/main/docs/self-hosting/kubernetes.md)— HA deploy with Helm chart[Environment variables](/FluidifyAI/Regen/blob/main/docs/self-hosting/environment-variables.md)— all config options

Don't wanna host and manage yourself?

[Get in touch]and we'd do it for you.

| Scenario | Result |
|---|---|
| Webhook ingestion p99 | < 10 ms (target: < 200 ms) |
| Webhook sustained p50 / p95 | 1.55 ms / 2.82 ms |
| API reads p95 (list / detail) | 4.42 ms / 2.83 ms |
| Peak throughput (burst test) | 3,917 RPS — 0 × 5xx |
| PostgreSQL failover RTO | 11 s (Patroni + HAProxy, target: < 60 s) |
| Redis failover RTO | 5 s (Sentinel 3-node quorum) |
| In-flight requests lost on rolling deploy | 0 |

Production numbers will be higher — these were captured on a single-machine local HA stack. Reproduce yourself:

`make load-test`

and`make chaos-db`

. Full methodology in[docs/RELIABILITY.md].

**Zero-downtime deploys**— rolling restarts drain in-flight requests before pod shutdown (SIGTERM → 30 s drain → exit)** PostgreSQL HA**— Patroni manages automatic primary election; HAProxy re-routes to the new primary within one health-check interval (3 s). No app restart, no config change.**Redis Sentinel**— 3-node quorum detects primary loss; workers reconnect to new master automatically** Kubernetes-native**— HPA, health-gated rolling deploys, resource limits out of the box** Webhook flood protection**— rate limiter returns 429 before the DB sees load spikes; validated at 3,917 RPS with zero OOM events** Full observability**—`/metrics`

(Prometheus) + pre-built Grafana dashboard in`deploy/grafana/`

```
curl -X POST http://localhost:8080/api/v1/webhooks/prometheus \
  -H "Content-Type: application/json" \
  -d '{
    "receiver": "fluidify-regen",
    "status": "firing",
    "alerts": [{
      "status": "firing",
      "labels": {"alertname": "TestAlert", "severity": "critical"},
      "annotations": {"summary": "Test alert from curl"},
      "startsAt": "2024-01-01T00:00:00Z"
    }]
  }'
```

An incident is created automatically. If Slack is configured, a dedicated channel appears within seconds.

Connecting Slack:Regen uses Slack's HTTP Events API (signed`POST`

to`/api/v1/slack/{events,interactions,commands}`

) — not Socket Mode. Local dev needs a public tunnel (ngrok). Full setup, including the three Request URLs and troubleshooting, is in[docs/getting-started/connecting-slack.md].

**Authentication**: bcrypt (cost 12), timing-safe comparison, 5-attempt account lockout, HTTP-only SameSite=Strict session cookies** No SQL injection surface**: All database access uses GORM parameterized queries — no raw string interpolation** Webhook verification**: Slack (HMAC-SHA256 + replay protection), Teams (RSA/OIDC), CloudWatch (RSA + SSRF-safe cert validation)** Rate limiting**: Redis Lua script enforcing three tiers — 10/min on auth endpoints, 120/min unauthenticated, 600/min authenticated** Security headers**: CSP, HSTS (2 years), X-Frame-Options, X-Content-Type-Options, Permissions-Policy on every response** Container hardening**: non-root UID 1001, read-only filesystem, all Linux capabilities dropped** CORS**: explicit allowlist via`CORS_ALLOWED_ORIGINS`

; dev-only fallback to localhost**Frontend**: no`dangerouslySetInnerHTML`

, no secrets in bundle, session token never accessible to JavaScript

Review the ** Production Security Checklist** — TLS, PostgreSQL password, Redis auth, and CORS origins for prerequisiste checklist.

Full security architecture: [SECURITY.md](/FluidifyAI/Regen/blob/main/SECURITY.md)

Don't wanna manage uptime and security?

[Get in touch]and we'd do it for you.

We love contributions big and small. This is how you join us:

```
# Start backend + dependencies
docker-compose up -d db redis

# Run backend with hot reload
cd backend && go run ./cmd/regen/... serve

# Run frontend with hot reload
cd frontend && npm install && npm run dev
```

Read for raising a PR:

- Read the setup & workflow in
[CONTRIBUTING.md](/FluidifyAI/Regen/blob/main/CONTRIBUTING.md) - Discover all developer commands with
`make help`

- Have a big idea?
[Let’s discuss it first](https://github.com/FluidifyAI/Regen/discussions)

If you find Regen useful, consider supporting us by:

- Star this repo - It helps others discover Regen
[Guide us](https://github.com/FluidifyAI/Regen/issues/new)- Every issue you raise goes into building

[AGPLv3](/FluidifyAI/Regen/blob/main/LICENSE) — free forever, including SSO.

Built by [FluidifyAI](https://fluidify.ai) · your incident data belongs to you
