CRIT ALARM / HOSTED · SELF-HOST AGPL-3.0
Live · free + $4.99/mo Pro · critalarm.appYour server pages you. Even at 3am.
One HTTP endpoint per topic. Post to it from cron, CI, Uptime Kuma or a shell script. Mark the topic critical and the alarm repeats until you acknowledge it.
critalarm.app is live and the server is running. The iOS and Android apps are not in the stores yet, so the button there puts you on the waitlist.
-
30s
between repeats until you acknowledge
-
10 min
desk timer before it rings again
-
2
critical topics on the free plan
Publish with one request.
Every topic gets a URL and a bearer token. Headers carry the priority, title and tags. The body is the message. Anything that can make an HTTP request can wake you up.
There is no SDK to install and no agent to run on the box.
from the Uptime Kuma webhook, or any shell
curl -X POST https://api.critalarm.app/prod-db \
-H "Authorization: Bearer tk_7Hq2mN9xPz4wKd8" \
-H "Priority: 5" \
-H "Title: Primary database down" \
-H "Tags: postgres,db-1" \
-d "pg_isready failed 3 times in 90 s. Replica promoted to primary on db-2." or the command line, for a cron job or a CI step
npm install -g @anvilnine/critalarm-cli
critalarm send prod-db "pg_isready failed 3 times in 90 s." \
--title "Primary database down" \
--priority 5 \
--tags "postgres,db-1" Critical means it wakes you.
A critical alert plays at alarm volume. It repeats every 30 seconds for up to 30 minutes by default, or until you acknowledge it. Acknowledge from bed and a 10-minute desk timer starts. If you have not closed the incident from your desk by then, it rings again.
-
Plays at alarm volume
-
Repeats every 30 seconds
-
Rings again if you fall back asleep
-
Stops only when you acknowledge
The priority ladder.
Set a default on the topic, override it per message with the Priority header. The phone behaves differently at each rung.
-
min
Stored in history. No notification at all.
-
low
Silent notification. No sound, no vibration.
-
default
Standard notification with sound. Respects quiet hours.
-
high
Sound and vibration. Shows on the lock screen even during quiet hours.
-
urgent
Priority 5. On a topic with critical switched on, an alarm that repeats every 30 seconds until you acknowledge.
Pricing.
Repeat until acknowledged is on the free plan. It is the product, so it is not behind the paywall.
Free
$0
- Unlimited topics
- 2 critical topics
- Up to 5 devices
- 7 days of history
- Repeat until acknowledged
Pro
$4.99 a month
- Unlimited critical topics
- Up to 5 devices
- 90 days of history
- 1,000 priority-4 messages a day
- Per-message priority overrides
Self-hosted
$0
- Every Pro feature
- Your hardware, your SQLite file
- Point the app at your URL
- Open source AGPL-3.0
Run it on your own box.
One container, one SQLite file, and no push credentials of your own: the relay delivers to Apple and Google for you. The app has a server field in Settings. Change it and everything, including critical alarms, goes through your machine.
AGPL-3.0 · every Pro feature
docker run -d --name critalarm \
-p 8080:8080 \
-v critalarm-data:/data \
-e BASE_URL=https://alerts.example.net \
ghcr.io/anvilnine/critalarm:latest Stop finding out in the morning.
Free for unlimited topics, two of them critical. The apps are not in the stores yet, so critalarm.app takes your email and sends an invite when the builds land.