[GH-ISSUE #1305] No push notifications on ios? #925

Open
opened 2026-05-07 00:28:48 +02:00 by BreizhHardware · 16 comments

Originally created by @yves-chevallier on GitHub (Mar 30, 2025).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1305

🐞 Describe the bug

I'm new to ntfy and recently installed the iOS app (version 1.3 (4)) on iOS 18.3.2. I subscribed to a topic and then published a message using curl -d "hi" ntfy.sh/mytopic, but I did not receive any notification on the iOS device.

When visiting https://ntfy.sh/mytopic in a browser, I can clearly see the message was delivered. I tested with multiple topics, all yielding the same result.

To investigate further, I deployed a self-hosted ntfy instance on my own server. The messages are correctly published and viewable via the web interface, but again, nothing is received on iOS.

Eventually, I realized that manually pulling down the UI in the iOS app causes the messages to appear — suggesting the client performs a poll on refresh. However, this is not equivalent to push notifications, which I expected.

💻 Components impacted

  • iOS app (push notification behavior)

🔮 Additional context

Is the iOS app supposed to support native push notifications via APNs or FCM?

Am I experiencing a configuration issue or is this the expected behavior on iOS?

Originally created by @yves-chevallier on GitHub (Mar 30, 2025). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1305 ### 🐞 **Describe the bug** I'm new to **ntfy** and recently installed the iOS app (version 1.3 (4)) on iOS 18.3.2. I subscribed to a topic and then published a message using `curl -d "hi" ntfy.sh/mytopic`, but I did **not receive any notification** on the iOS device. When visiting `https://ntfy.sh/mytopic` in a browser, I can clearly see the message was delivered. I tested with multiple topics, all yielding the same result. To investigate further, I deployed a self-hosted ntfy instance on my own server. The messages are correctly published and viewable via the web interface, but again, **nothing is received on iOS**. Eventually, I realized that manually **pulling down** the UI in the iOS app causes the messages to appear — suggesting the client performs a poll on refresh. However, this is not equivalent to **push notifications**, which I expected. ### 💻 **Components impacted** - iOS app (push notification behavior) ### 🔮 **Additional context** Is the iOS app supposed to support native push notifications via APNs or FCM? Am I experiencing a configuration issue or is this the expected behavior on iOS?
Author
Owner

@wunter8 commented on GitHub (Mar 31, 2025):

I would've expected you to receive push notifications for the ntfy.sh topic (as long as it was publicly accessible and not a paid-for reserved topic).

For your self-hosted instance, these are the things you need to do to get iOS push notifications to work:

  1. open a browser to the web app of your ntfy instance and copy the URL (including "http://" or "https://", your domain or IP address, and any ports, and excluding any trailing slashes)
  2. put the URL you copied in the ntfy base-url config in server.yml or NTFY_BASE_URL in env variables
  3. put the URL you copied in the default server URL setting in the iOS ntfy app
  4. set upstream-base-url in server.yml or NTFY_UPSTREAM_BASE_URL in env variables to "https://ntfy.sh" (without a trailing slash)
<!-- gh-comment-id:2764821972 --> @wunter8 commented on GitHub (Mar 31, 2025): I would've expected you to receive push notifications for the ntfy.sh topic (as long as it was publicly accessible and not a paid-for reserved topic). For your self-hosted instance, these are the things you need to do to get iOS push notifications to work: 1. open a browser to the web app of your ntfy instance and copy the URL (including "http://" or "https://", your domain or IP address, and any ports, and excluding any trailing slashes) 2. put the URL you copied in the ntfy `base-url` config in server.yml or NTFY_BASE_URL in env variables 3. put the URL you copied in the default server URL setting in the iOS ntfy app 4. set `upstream-base-url` in server.yml or NTFY_UPSTREAM_BASE_URL in env variables to "https://ntfy.sh" (without a trailing slash)
Author
Owner

@yves-chevallier commented on GitHub (Mar 31, 2025):

Yes I have enabled this :

$ sed '/^#/d; /^\s*$/d' /etc/ntfy/server.yml
base-url: "https://ntfs.myserver.io"
listen-http: ":4573"
behind-proxy: true
upstream-base-url: "https://ntfs.sh"
log-level: info

The issue is not only with this on premises instance, but with iOS.

  1. I go to https://ntfy.sh/foobar
  2. I connect to default server on iOS ntfy app (v1.3)
  3. I execute curl -d "Hello" ntfy.sh/foobar
  4. I notice on my browser that a new notification has been received
  5. I notice no notifications on my iPhone
  6. If I swipe up on the subscriptions list, I get the notification.

So it seems, the iOS app v1.3 does not work with push notifications.

<!-- gh-comment-id:2765692641 --> @yves-chevallier commented on GitHub (Mar 31, 2025): Yes I have enabled this : ```bash $ sed '/^#/d; /^\s*$/d' /etc/ntfy/server.yml base-url: "https://ntfs.myserver.io" listen-http: ":4573" behind-proxy: true upstream-base-url: "https://ntfs.sh" log-level: info ``` The issue is not only with this on premises instance, but with iOS. 1. I go to https://[ntfy](https://ntfy.sh/foobar).sh/foobar 2. I connect to default server on iOS ntfy app (v1.3) 3. I execute `curl -d "Hello" ntfy.sh/foobar` 4. I notice on my browser that a new notification has been received 5. I notice **no notifications** on my iPhone 6. If I swipe up on the subscriptions list, I get the notification. So it seems, the iOS app v1.3 does not work with push notifications.
Author
Owner

@wunter8 commented on GitHub (Mar 31, 2025):

Did you copy and paste your config above?

If so, you need to change ntfs to ntfy in both your urls (base and upstream)

<!-- gh-comment-id:2766078846 --> @wunter8 commented on GitHub (Mar 31, 2025): Did you copy and paste your config above? If so, you need to change `ntfs` to `ntfy` in both your urls (base and upstream)
Author
Owner

@yves-chevallier commented on GitHub (Mar 31, 2025):

Haha! My bad... copy paste issue.

However this doesn't explain why it doesn't work on the official web version.

<!-- gh-comment-id:2766101813 --> @yves-chevallier commented on GitHub (Mar 31, 2025): Haha! My bad... copy paste issue. However this doesn't explain why it doesn't work on the official web version.
Author
Owner

@wunter8 commented on GitHub (Mar 31, 2025):

Does that mean it's working on your self hosted instance now?

I agree that it's strange that it's not working for the public ntfy.sh instance. You've given the app notification permissions and everything, right?

The other option is to use the PWA instead of the native iOS app. The PWA has more features and more reliable notifications than the iOS app

<!-- gh-comment-id:2766146853 --> @wunter8 commented on GitHub (Mar 31, 2025): Does that mean it's working on your self hosted instance now? I agree that it's strange that it's not working for the public ntfy.sh instance. You've given the app notification permissions and everything, right? The other option is to use the PWA instead of the native iOS app. The PWA has more features and more reliable notifications than the iOS app
Author
Owner

@yves-chevallier commented on GitHub (Mar 31, 2025):

No it is not working on either platform. I don't really have flexibility to choose the notification permissions on iOS. The only switch is "Allow Notifications" which is enabled.

I don't think PWA are allowed on iOS :(

<!-- gh-comment-id:2766172365 --> @yves-chevallier commented on GitHub (Mar 31, 2025): No it is not working on either platform. I don't really have flexibility to choose the notification permissions on iOS. The only switch is "Allow Notifications" which is enabled. I don't think PWA are allowed on iOS :(
Author
Owner

@qupfer commented on GitHub (Apr 1, 2025):

I rember, what was not "that" easy to get it work on my iPhone.

imho, you need it behind a reverse proxy with valid ssl (lets encrypt or similar).
Configure webpush as (https://docs.ntfy.sh/config/#web-push)

Then opened it in safari and go to the page, login (if account configuerd)
And then use the "save on homescreen" fucntion of safari.
Then close it, open one times the homescreen-link and after that, it worked.

FYI my config

ntfy:~# grep -v  "#" /etc/ntfy/server.yml
base-url: "https://ntfy.mydomain.de"
listen-http: ":8080"
behind-proxy: true
cache-file: "/var/cache/ntfy/cache.db"
attachment-cache-dir: "/var/cache/ntfy/attachments"
auth-file: "/var/lib/ntfy/user.db"
auth-default-access: "deny-all"
web-push-public-key: aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbCCCCCCCCCCCCCCCCCC
web-push-private-key: fffffffffffffffffffffffffffffffffff
web-push-email-address:  ntfy@mydomain.de

Edit: and posted private key public :-)
Now can I test what happend, if I rotate the key

<!-- gh-comment-id:2768757860 --> @qupfer commented on GitHub (Apr 1, 2025): I rember, what was not "that" easy to get it work on my iPhone. imho, you need it behind a reverse proxy with valid ssl (lets encrypt or similar). Configure webpush as (https://docs.ntfy.sh/config/#web-push) Then opened it in safari and go to the page, login (if account configuerd) And then use the "save on homescreen" fucntion of safari. Then close it, open one times the homescreen-link and after that, it worked. FYI my config ``` ntfy:~# grep -v "#" /etc/ntfy/server.yml base-url: "https://ntfy.mydomain.de" listen-http: ":8080" behind-proxy: true cache-file: "/var/cache/ntfy/cache.db" attachment-cache-dir: "/var/cache/ntfy/attachments" auth-file: "/var/lib/ntfy/user.db" auth-default-access: "deny-all" web-push-public-key: aaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbCCCCCCCCCCCCCCCCCC web-push-private-key: fffffffffffffffffffffffffffffffffff web-push-email-address: ntfy@mydomain.de ``` Edit: and posted private key public :-) Now can I test what happend, if I rotate the key
Author
Owner

@MacKenia commented on GitHub (Aug 27, 2025):

I also have this issue, topics added a long time ago have notifications, but recently added topics do not have notifications, and messages only appear after manually refreshing in ntfy, and I am using the official server. I resubscribed to the topics that used to receive notifications, but after resubscribing, the topics cannot receive notifications😥.

<!-- gh-comment-id:3226552192 --> @MacKenia commented on GitHub (Aug 27, 2025): I also have this issue, topics added a long time ago have notifications, but recently added topics do not have notifications, and messages only appear after manually refreshing in ntfy, and I am using the official server. I resubscribed to the topics that used to receive notifications, but after resubscribing, the topics cannot receive notifications😥.
Author
Owner

@nabule commented on GitHub (Dec 4, 2025):

I have the same problem,but bark default server everything ok

<!-- gh-comment-id:3610671038 --> @nabule commented on GitHub (Dec 4, 2025): I have the same problem,but bark default server everything ok
Author
Owner

@ekiro commented on GitHub (Jan 6, 2026):

Any updates on that? I have the same issue, I used to have notifications on iOS from my self-hosted instance, but it stopped working couple of months ago.

<!-- gh-comment-id:3714552405 --> @ekiro commented on GitHub (Jan 6, 2026): Any updates on that? I have the same issue, I used to have notifications on iOS from my self-hosted instance, but it stopped working couple of months ago.
Author
Owner

@wunter8 commented on GitHub (Jan 6, 2026):

@ekiro When notifications were working and then suddenly stopped, some people have fixed the issue by reinstalling the ntfy app

<!-- gh-comment-id:3714658404 --> @wunter8 commented on GitHub (Jan 6, 2026): @ekiro When notifications were working and then suddenly stopped, some people have fixed the issue by reinstalling the ntfy app
Author
Owner

@ekiro commented on GitHub (Jan 6, 2026):

@wunter8 I did that twice, I also setup second test instance - still no notifications

<!-- gh-comment-id:3714673005 --> @ekiro commented on GitHub (Jan 6, 2026): @wunter8 I did that twice, I also setup second test instance - still no notifications
Author
Owner

@Wanghley commented on GitHub (Feb 9, 2026):

I’m facing the same issue. My setup appears to be correct. Initially, I suspected that the bot protection on the proxy I use, Zero Trust Cloudflare, might be causing the problem. However, after removing the bot protection, the issue persists. It works when I send a test from my iPhone to the browser, but the other way around, I need to force update the app by swiping on the screen to receive the notification.

My environment setup:

 "environment": [
        "NTFY_BASE_URL=<MY DOMAIN>",
        "NTFY_UPSTREAM_BASE_URL=https://ntfy.sh",
        "NTFY_ENABLE_PUSH=true",
        "NTFY_BEHIND_PROXY=true",
        "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
      ],
<!-- gh-comment-id:3874036112 --> @Wanghley commented on GitHub (Feb 9, 2026): I’m facing the same issue. My setup appears to be correct. Initially, I suspected that the bot protection on the proxy I use, Zero Trust Cloudflare, might be causing the problem. However, after removing the bot protection, the issue persists. It works when I send a test from my iPhone to the browser, but the other way around, I need to force update the app by swiping on the screen to receive the notification. My environment setup: ``` "environment": [ "NTFY_BASE_URL=<MY DOMAIN>", "NTFY_UPSTREAM_BASE_URL=https://ntfy.sh", "NTFY_ENABLE_PUSH=true", "NTFY_BEHIND_PROXY=true", "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], ```
Author
Owner

@cindy2000sh commented on GitHub (Feb 10, 2026):

For me it's simply reinstall the ios app

<!-- gh-comment-id:3875121211 --> @cindy2000sh commented on GitHub (Feb 10, 2026): For me it's simply reinstall the ios app
Author
Owner

@michaeltal commented on GitHub (Feb 11, 2026):

For me it's simply reinstall the ios app

Fixed it for me as well!

<!-- gh-comment-id:3886296653 --> @michaeltal commented on GitHub (Feb 11, 2026): > For me it's simply reinstall the ios app Fixed it for me as well!
Author
Owner

@drewcrawford commented on GitHub (Feb 28, 2026):

For me it's simply reinstall the ios app

Fixed it for me as well on the public instance (not self-hosted)

<!-- gh-comment-id:3976222667 --> @drewcrawford commented on GitHub (Feb 28, 2026): > For me it's simply reinstall the ios app Fixed it for me as well on the public instance (not self-hosted)
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/ntfy#925
No description provided.