Uptime Kuma alerts, straight to your iPhone

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.

How it works

A relay between Uptime Kuma and Apple

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.

Uptime Kuma

A monitor changes state and fires a webhook.

KumaPush relay

Finds your device and builds the notification.

Apple Push service

APNs is Apple’s delivery network for push.

Your iPhone

iOS shows the alert, even with the app closed.

1

Register once

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.

2

Uptime Kuma calls the webhook

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.

3

The relay hands it to APNs

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.

Why can't Uptime Kuma talk to Apple directly?

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.

Features

Built to do one thing well

Know when something breaks, without another dashboard to check.

Real push, not polling

Alerts arrive through APNs the moment your monitor changes state, even when KumaPush is closed or your phone is locked.

Time Sensitive downtime

Choose whether "down" alerts are delivered as Time Sensitive, so they break through Focus and Do Not Disturb.

Set up in a minute

Tap Get Started, paste one webhook URL into Uptime Kuma, and press Test. That is the whole setup.

No account, minimal data

The relay stores only your device token and a hash of your auth token. Notification contents are never saved.

Self-hostable relay

Run the relay yourself with the included Docker Compose setup and point the app at it with a custom relay address.

Open source

The iOS app and the Go relay are both open source under GPL-3.0. Read it, audit it, improve it.

Get started

Three steps to your first alert

  1. 1

    Open KumaPush and tap Get Started

    Allow notifications when iOS asks. The app registers your phone with the relay.

  2. 2

    Add a Webhook notification in Uptime Kuma

    Paste your personal URL from the app as the Post URL and set the request body to Preset - application/json.

  3. 3

    Press Test

    A notification should land on your phone within seconds. Attach it to your monitors and you're done.

Read the full guide
Self-hosting

Prefer to run your own relay?

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
relay/
# 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"}