# Architecture Decision Record: Monitoring Notifications Initial Author: Taha Hawa Initial Date: 2025-06-26 Last Updated Date: 2025-06-26 ## Status Proposed ## Context We need to send notifications (typically from AlertManager/Prometheus) and we need to receive said notifications on mobile devices for sure in some way, whether it's push messages, SMS, phone call, email, etc or all of the above. ## Decision We should go with https://ntfy.sh except host it ourselves. `ntfy` is an open source solution written in Go that has the features we need. ## Rationale `ntfy` has pretty much everything we need (push notifications, email forwarding, receives via webhook), and nothing/not much we don't. Good fit, lightweight. ## Consequences Pros: - topics, with ACLs - lightweight - reliable - easy to configure - mobile app - the mobile app can listen via websocket, poll, or receive via Firebase/GCM on Android, or similar on iOS. - Forward to email - Text-to-Speech phone call messages using Twilio integration - Operates based on simple HTTP requests/Webhooks, easily usable via AlertManager Cons: - No SMS pushes - SQLite DB, makes it harder to HA/scale ## Alternatives considered [AWS SNS](https://aws.amazon.com/sns/): Pros: - highly reliable - no hosting needed Cons: - no control, not self hosted - costs (per usage) [Apprise](https://github.com/caronc/apprise): Pros: - Way more ways of sending notifications - Can use ntfy as one of the backends/ways of sending Cons: - Way too overkill for what we need in terms of features [Gotify](https://github.com/gotify/server): Pros: - simple, lightweight, golang, etc Cons: - Pushes topics are per-user ## Additional Notes