Move to NTFY me

NTFY me speaks the same ntfy protocol as the official app, so moving over is mostly copying topic names and changing one word in your scripts. Pick the case that matches you.

I use ntfy.shWith the official ntfy iOS app. Move your topics to ntfy-me.com. About 5 minutes. I run my own serverChange one config line. Your topics, users and scripts stay as they are. I used NTFY me before 1.14Update the app. It moves your topics for you. Android, desktop, webUse ntfy-me.com from any ntfy client.

From ntfy.sh and the official ntfy app

ntfy.sh topics get no instant banners in NTFY me: messages appear when you open or refresh the app, because ntfy.sh relays push only to the official app. For banners in NTFY me, move your topics to ntfy-me.com. The API is the same; only the host name changes.

  1. List your topics. Open the official ntfy app and note each topic name. There is no export, so write them down or take a screenshot.

  2. Install NTFY me and add each topic. Tap + and enter the name; the server is ntfy-me.com already. ntfy-me.com and ntfy.sh are separate servers: the same name on each is two different topics.

    Good moment to switch to a long random name (tap Random): on a public server, the topic name is the password.

  3. Point your scripts and services at ntfy-me.com. Replace ntfy.sh with ntfy-me.com. Headers, JSON publishing, attachments, actions and the rest work the same way.

    # before
    curl -H "Title: Backup finished" -d "All disks OK" https://ntfy.sh/my-topic
    # after
    curl -H "Title: Backup finished" -d "All disks OK" https://ntfy-me.com/my-topic

    Where to look:

    • Scripts and cron jobs: search for ntfy.sh, for example grep -rn "ntfy.sh" ~/scripts /etc/cron*.
    • The ntfy CLI: pass the full URL (ntfy publish ntfy-me.com/my-topic "hi"), or set default-host: https://ntfy-me.com in its client.yml.
    • Apps with an ntfy integration (Home Assistant, Uptime Kuma, Healthchecks, Proxmox, Sonarr and friends): change the server URL field to https://ntfy-me.com.
  4. Test each one. Trigger a message, or use Send test notification from a topic's ••• menu in the app.

  5. Remove the old app once everything arrives in NTFY me. Until then you can send to both:

    for host in ntfy.sh ntfy-me.com; do curl -s -d "All disks OK" "https://$host/my-topic"; done

What's different on ntfy-me.com

If you used…On ntfy-me.com
An ntfy.sh account, reserved topics or access tokensThere are no accounts. Keep a topic private with a long random name, and add a topic password in the app (••• → End-to-end encryption) so only your devices can read it. Need real logins? Run your own server.
A paid ntfy.sh plan for higher limitsntfy-me.com allows 2,000 messages a day per IP address, 15 MB attachments and 60 subscriptions. Beyond that, self-host.
Long message historyMessages stay on the server for 12 hours, attachments for 3 hours. Your phone keeps everything it received.
Web push in the browserUse the web app while the tab is open.

Keeping a topic on ntfy.sh

You can, if you don't control what sends to it: tap +, turn on Use another server and enter https://ntfy.sh. Messages show up when you open the app or the topic, but without instant banners.

From your own ntfy server

Keep your server. Your topics, users and tokens stay; only the push relay changes.

  1. Change the upstream. In server.yml, set upstream-base-url: "https://ntfy-me.com" (Docker: NTFY_UPSTREAM_BASE_URL) and restart. Leave base-url as it is.

  2. Add your login in the app if your server requires one: Settings → Users → Add user.

  3. Add your topics: +, turn on Use another server, then enter your server address exactly as it appears in base-url. Or set it once in Settings → Default server.

  4. Send a test with the app closed. A banner within a second or two means it's working. If not, see troubleshooting.

Shared server? A server has one upstream. After the change, people on your server who use the official ntfy iOS app lose instant notifications (Android, desktop and web are unaffected). Tell them before you switch, or have them move to NTFY me too.

New to self-hosting? The self-hosting guide covers a fresh install with Docker.

From an earlier NTFY me version

Before 1.14, the app's built-in server was a private one that couldn't receive messages from the public. Topics created there never got notifications.

  1. Update NTFY me from the App Store. Version 1.15 and later move those topics to ntfy-me.com the first time it opens, and show a one-time list of the moved topics with their new addresses.

  2. Update whatever sends to them to https://ntfy-me.com/<topic>.

Topics on a server you signed in to, and topics on ntfy-me.com or your own server, are left alone.

Android, desktop and the web

ntfy-me.com is a standard ntfy server, so the same topics work everywhere: