KumaPush turns your Uptime Kuma webhooks into real push notifications. No account, no polling, no always-on app. Just an alert the moment something goes down.
iPhones can only be pushed to through Apple's Push Notification service (APNs). The relay is the small piece that sits in the middle and speaks both languages.
A monitor changes state and fires a webhook.
POST /wh/‹device-id›Finds your device and builds the notification.
HTTP/2 push signed with the relay’s keyAPNs is Apple’s delivery network for push.
Delivered to your device tokeniOS shows the alert, even with the app closed.
The app asks iOS for a device token and sends it to the relay. You get back a short device ID and a private auth token that only your phone keeps. The ID becomes your personal webhook URL.
When a monitor goes up or down, Uptime Kuma sends a normal webhook to/wh/‹device-id› on the relay. Nothing to install on your Kuma server.
The relay looks up your device token, writes the title and message, and pushes it through APNs. Apple delivers it to your iPhone within moments.
APNs only accepts pushes signed with a key that belongs to the developer of the app. That key can't live inside Uptime Kuma, so the relay holds it, keeps just your device token, and forwards each alert without storing its contents. Read the details or browse the relay source.
Know when something breaks, without another dashboard to check.
Alerts arrive through APNs the moment your monitor changes state, even when KumaPush is closed or your phone is locked.
Choose whether "down" alerts are delivered as Time Sensitive, so they break through Focus and Do Not Disturb.
Tap Get Started, paste one webhook URL into Uptime Kuma, and press Test. That is the whole setup.
The relay stores only your device token and a hash of your auth token. Notification contents are never saved.
Run the relay yourself with the included Docker Compose setup and point the app at it with a custom relay address.
The iOS app and the Go relay are both open source under GPL-3.0. Read it, audit it, improve it.
Allow notifications when iOS asks. The app registers your phone with the relay.
Paste your personal URL from the app as the Post URL and set the request body to Preset - application/json.
A notification should land on your phone within seconds. Attach it to your monitors and you're done.
The relay is a single Go service backed by PostgreSQL. Bring your own APNs key, start it with Docker Compose, and enter its address under "Use custom relay" in the app.
APNs keys are tied to the Apple Developer team that signs the app, so a self-hosted relay needs a build of KumaPush signed with your own team. The self-hosting guide covers this.
Self-hosting guide# 1. configure cp .env.example .env # set POSTGRES_PASSWORD, APNS_KEY_ID, # APNS_TEAM_ID, APP_BUNDLE_IDENTIFIER cp ~/AuthKey_XXXXXXXXXX.p8 ./authkey.p8 # 2. start relay + PostgreSQL docker compose up -d --build # 3. check it curl http://localhost:4321/health # {"status":"ok"}