[GH-ISSUE #1191] No more IOS push notification since July 2024 #838

Open
opened 2026-05-07 00:27:55 +02:00 by BreizhHardware · 50 comments

Originally created by @GuillaumeDebernard on GitHub (Sep 29, 2024).
Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1191

Quick description

I have NTFY running with docker-compose, behind an nginx reverse-proxy with https (certbot).
Since mid-July, I no longer receive notifications on IOS, which used to work fine.

The requests I send look like : curl -d Hello https://ntfy.myDomain.com/myTopic.

Note that reverse-proxy is used for other services and work perfectly fine for them.

I didn't see any trace log about usage limits.

What's still working

  • Notifications on Android phones
  • Notifications on WebApp (Chrome & Safari at least)
  • Notifications arrives on IOS if you refresh the app (by pulling down)
  • Push notification to IOS with https://ntfy.sh/myTopic

What I tried, and didn't work

  • Run a previous ntfy version
  • Prune docker image and rebuild it
  • Switch from server.yml to env variables for configuration
  • Switch from https://myDomain.com/services/path/to/MyTopic to subdomain : https://ntfy.myDomain.com/myTopic (It allow me to acces webapp by the way)
  • Uninstall/reinstall the app + remove app from Icloud backup
  • Restart Iphone
  • Unsuscribe/resuscribe to topics
  • A lot of nginx configuration for the redirections

My configurations

  • NTFY_BASE_URL match exactly the default server I set up in my app.

docker-compose.yaml file

ntfy:
  image: binwiederhier/ntfy:latest
  container_name: ntfy_container
  command:
    - serve
  environment:
    TZ: "Europe/Paris"
    NTFY_BASE_URL: https://${SUB_NTFY}
    NTFY_LISTEN_HTTP: :${NTFY_PORT}
    NTFY_CACHE_FILE: /var/cache/ntfy/cache.db
    NTFY_ATTACHMENT_CACHE_DIR: /var/cache/ntfy/attachments
    NTFY_UPSTREAM_BASE_URL: https://ntfy.sh
    NTFY_LOG_LEVEL: warning
    NTFY_LOG_FORMAT: text
    NTFY_LOG_FILE: var/ntfy/logs.log
    NTFY_KEEPALIVE_INTERVAL: 45s
    NTFY_BEHIND_PROXY: true
    NTFY_WEB_ROOT: /app
  volumes:
    - ./utils/ntfy/cache:/var/cache/ntfy
    - ./utils/ntfy:/var/ntfy
  ports:
    - "${NTFY_PORT}:${NTFY_PORT}"
   # Work the same if using port 80
  networks:
    - main

Nginx default.conf.template file

server {
  listen ${HTTPS_DEFAULT} ssl http2;
  listen [::]:${HTTPS_DEFAULT} ssl http2;

  server_name ${SUB_NTFY};

  ssl_certificate /etc/letsencrypt/live/${DOMAIN}/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/${DOMAIN}/privkey.pem;

  set $upstream_ntfy "ntfy:${NTFY_PORT}";

  resolver 127.0.0.11 valid=1m;

  location / {

    rewrite /(.*) /$1 break;
    proxy_pass http://$upstream_ntfy/$1$is_args$args;
    proxy_http_version 1.1;

    proxy_set_header Host $http_host;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    proxy_connect_timeout 3m;
    proxy_send_timeout 3m;
    proxy_read_timeout 3m;

    client_max_body_size 0;
  }
}

What i really don't understand is why it stopped working. I should have read a hundred times all the configuration page from ntfy.sh without finding any problems in my configuration.
Since I didn't see any new post about that issue I assumed it was an nginx configuration issue, but every other services I host, and ntfy usage (webapp, android) are still working.
I upgrade recently IOS 17 to 18 without any improvement.

I'm running out of ideas, if anyone is facing the same issue, join the club ;)

I'd also like to take this opportunity to congratulate you on your great work!

Originally created by @GuillaumeDebernard on GitHub (Sep 29, 2024). Original GitHub issue: https://github.com/binwiederhier/ntfy/issues/1191 # Quick description I have NTFY running with docker-compose, behind an nginx reverse-proxy with `https` (certbot). Since mid-July, I no longer receive notifications on IOS, which used to work fine. The requests I send look like : `curl -d Hello https://ntfy.myDomain.com/myTopic`. Note that reverse-proxy is used for other services and work perfectly fine for them. I didn't see any trace log about usage limits. # What's still working - Notifications on Android phones - Notifications on WebApp (Chrome & Safari at least) - Notifications arrives on IOS if you refresh the app (by pulling down) - Push notification to IOS with `https://ntfy.sh/myTopic` # What I tried, and didn't work - Run a previous ntfy version - Prune docker image and rebuild it - Switch from `server.yml` to env variables for configuration - Switch from `https://myDomain.com/services/path/to/MyTopic` to subdomain : `https://ntfy.myDomain.com/myTopic` (It allow me to acces webapp by the way) - Uninstall/reinstall the app + remove app from Icloud backup - Restart Iphone - Unsuscribe/resuscribe to topics - A lot of nginx configuration for the redirections # My configurations - `NTFY_BASE_URL` match exactly the default server I set up in my app. ## docker-compose.yaml file ``` dockerfile ntfy: image: binwiederhier/ntfy:latest container_name: ntfy_container command: - serve environment: TZ: "Europe/Paris" NTFY_BASE_URL: https://${SUB_NTFY} NTFY_LISTEN_HTTP: :${NTFY_PORT} NTFY_CACHE_FILE: /var/cache/ntfy/cache.db NTFY_ATTACHMENT_CACHE_DIR: /var/cache/ntfy/attachments NTFY_UPSTREAM_BASE_URL: https://ntfy.sh NTFY_LOG_LEVEL: warning NTFY_LOG_FORMAT: text NTFY_LOG_FILE: var/ntfy/logs.log NTFY_KEEPALIVE_INTERVAL: 45s NTFY_BEHIND_PROXY: true NTFY_WEB_ROOT: /app volumes: - ./utils/ntfy/cache:/var/cache/ntfy - ./utils/ntfy:/var/ntfy ports: - "${NTFY_PORT}:${NTFY_PORT}" # Work the same if using port 80 networks: - main ``` ## Nginx default.conf.template file ``` nginx server { listen ${HTTPS_DEFAULT} ssl http2; listen [::]:${HTTPS_DEFAULT} ssl http2; server_name ${SUB_NTFY}; ssl_certificate /etc/letsencrypt/live/${DOMAIN}/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/${DOMAIN}/privkey.pem; set $upstream_ntfy "ntfy:${NTFY_PORT}"; resolver 127.0.0.11 valid=1m; location / { rewrite /(.*) /$1 break; proxy_pass http://$upstream_ntfy/$1$is_args$args; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_connect_timeout 3m; proxy_send_timeout 3m; proxy_read_timeout 3m; client_max_body_size 0; } } ``` What i really don't understand is why it stopped working. I should have read a hundred times all the configuration page from `ntfy.sh` without finding any problems in my configuration. Since I didn't see any new post about that issue I assumed it was an nginx configuration issue, but every other services I host, and ntfy usage (webapp, android) are still working. I upgrade recently IOS 17 to 18 without any improvement. I'm running out of ideas, if anyone is facing the same issue, join the club ;) I'd also like to take this opportunity to congratulate you on your great work!
Author
Owner

@a1ad commented on GitHub (Oct 8, 2024):

Yeah, same here

<!-- gh-comment-id:2400488263 --> @a1ad commented on GitHub (Oct 8, 2024): Yeah, same here
Author
Owner

@plittlefield commented on GitHub (Oct 8, 2024):

I’ve just installed the docker ntfy behind a Traefik proxy with password user logins and a topic called with an API.

It all works but I’m not getting any iOS notifications - UNLESS I go in to the app and pull down to refresh.

What am I doing wrong or is this a deal breaking bug?!

Thanks.

<!-- gh-comment-id:2400498092 --> @plittlefield commented on GitHub (Oct 8, 2024): I’ve just installed the docker ntfy behind a Traefik proxy with password user logins and a topic called with an API. It all works but I’m not getting any iOS notifications - UNLESS I go in to the app and pull down to refresh. What am I doing wrong or is this a deal breaking bug?! Thanks.
Author
Owner

@wunter8 commented on GitHub (Oct 8, 2024):

In general, notifications to iOS are tricky. I haven't heard anything specific about updates to iOS 18 or Nginx causing problems, though. It's definitely strange that things were working and then stopped (at least for OP).

You'll have better luck with notifications on iOS through the PWA. You'll need to set up web push keys on your self-hosted server (and have the server behind a domain with a TLS cert that is publicly trusted (e.g., not self-signed)), but it's easy to set up. With the PWA, notifications should arrive reliably, and you'll have more features than the native iOS app (like markdown formatting and embedded image previews).

Here's the list of things I tell people to do to get iOS notifications working, so you can double-check that everything is in order (but again, if it was working and stopped without any sort of config change, I don't know what would cause that):

  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"
<!-- gh-comment-id:2400728902 --> @wunter8 commented on GitHub (Oct 8, 2024): In general, notifications to iOS are tricky. I haven't heard anything specific about updates to iOS 18 or Nginx causing problems, though. It's definitely strange that things were working and then stopped (at least for OP). You'll have better luck with notifications on iOS through the PWA. You'll need to set up web push keys on your self-hosted server (and have the server behind a domain with a TLS cert that is publicly trusted (e.g., not self-signed)), but it's easy to set up. With the PWA, notifications should arrive reliably, and you'll have more features than the native iOS app (like markdown formatting and embedded image previews). Here's the list of things I tell people to do to get iOS notifications working, so you can double-check that everything is in order (but again, if it was working and stopped without any sort of config change, I don't know what would cause that): 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"
Author
Owner

@plittlefield commented on GitHub (Oct 8, 2024):

Wow, very detailed reply many thanks.

I will try that tomorrow and report back.

<!-- gh-comment-id:2400822974 --> @plittlefield commented on GitHub (Oct 8, 2024): Wow, very detailed reply many thanks. I will try that tomorrow and report back.
Author
Owner

@plittlefield commented on GitHub (Oct 9, 2024):

Hi @wunter8 I have news.

The addition of the variable NTFY_UPSTREAM_BASE_URL to my docker-compose.yml now makes a Notification appear in the Notification Centre of my iPhone.

However, this is still not quite good enough for me, because I need it to appear on the Lock Screen ... just like Pushover does.

Also, what is PWA ?

<!-- gh-comment-id:2401702068 --> @plittlefield commented on GitHub (Oct 9, 2024): Hi @wunter8 I have news. The addition of the variable NTFY_UPSTREAM_BASE_URL to my docker-compose.yml now makes a Notification appear in the Notification Centre of my iPhone. However, this is still not quite good enough for me, because I need it to appear on the Lock Screen ... just like Pushover does. Also, what is PWA ?
Author
Owner

@plittlefield commented on GitHub (Oct 9, 2024):

OK, I take that back!

I have just received a ntfy notification on my lock screen and my watch!

Happy days!

<!-- gh-comment-id:2401767871 --> @plittlefield commented on GitHub (Oct 9, 2024): OK, I take that back! I have just received a ntfy notification on my lock screen and my watch! Happy days!
Author
Owner

@a1ad commented on GitHub (Oct 9, 2024):

@plittlefield with the app from the store? Mine is still not working

@wunter8 can we use "server.yml" and the docker ENVs at the same time?

<!-- gh-comment-id:2402262469 --> @a1ad commented on GitHub (Oct 9, 2024): @plittlefield with the app from the store? Mine is still not working @wunter8 can we use "server.yml" and the docker ENVs at the same time?
Author
Owner

@plittlefield commented on GitHub (Oct 9, 2024):

@a1ad yes.

Here is my redacted docker compose file ...

https://pastebin.com/raw/TjEiyaZs

<!-- gh-comment-id:2402322121 --> @plittlefield commented on GitHub (Oct 9, 2024): @a1ad yes. Here is my redacted docker compose file ... https://pastebin.com/raw/TjEiyaZs
Author
Owner

@wunter8 commented on GitHub (Oct 9, 2024):

@a1ad I think it's okay to use server.yml and env variables simultaneously, but I'm not certain which would take priority if there were conflicts. Probably the env variables. I'd recommend just using one or the other, though, to avoid complicating things

The PWA (Progressive Web App) allows you to install the web app as a standalone app on your phone. It can still receive notifications in the background (on iOS >= 16.4), has more features than the native app (like markdown support), and has more reliable notifications. To self host the PWA, you need to configure web push keys (https://docs.ntfy.sh/config#web-push)

<!-- gh-comment-id:2402391239 --> @wunter8 commented on GitHub (Oct 9, 2024): @a1ad I think it's okay to use server.yml and env variables simultaneously, but I'm not certain which would take priority if there were conflicts. Probably the env variables. I'd recommend just using one or the other, though, to avoid complicating things The PWA (Progressive Web App) allows you to install the web app as a standalone app on your phone. It can still receive notifications in the background (on iOS >= 16.4), has more features than the native app (like markdown support), and has more reliable notifications. To self host the PWA, you need to configure web push keys (https://docs.ntfy.sh/config#web-push)
Author
Owner

@plittlefield commented on GitHub (Oct 9, 2024):

OK, I might try that tomorrow.

What do I have to install on the phone for this work or does it just use the existing iOS app?

<!-- gh-comment-id:2402602440 --> @plittlefield commented on GitHub (Oct 9, 2024): OK, I might try that tomorrow. What do I have to install on the phone for this work or does it just use the existing iOS app?
Author
Owner

@wunter8 commented on GitHub (Oct 9, 2024):

After setting up the web push keys, load the self-hosted web app in Safari and then go to Share > "add to homescreen"

<!-- gh-comment-id:2402618115 --> @wunter8 commented on GitHub (Oct 9, 2024): After setting up the web push keys, load the self-hosted web app in Safari and then go to Share > "add to homescreen"
Author
Owner

@plittlefield commented on GitHub (Oct 9, 2024):

Blimey, I did not know about that and I've had an iPhone for 5 years :-)

<!-- gh-comment-id:2402700840 --> @plittlefield commented on GitHub (Oct 9, 2024): Blimey, I did _not_ know about that and I've had an iPhone for 5 years :-)
Author
Owner

@plittlefield commented on GitHub (Oct 9, 2024):

Oooo, will that give me nice count badges?!

<!-- gh-comment-id:2402702027 --> @plittlefield commented on GitHub (Oct 9, 2024): Oooo, will that give me nice count badges?!
Author
Owner

@wunter8 commented on GitHub (Oct 9, 2024):

Background notifications for PWAs on iOS have only been supported since iOS 16.4 (March 2023).

I'm not sure about the count badges 🤷‍♂️ (I don't use iOS)

<!-- gh-comment-id:2402805954 --> @wunter8 commented on GitHub (Oct 9, 2024): Background notifications for PWAs on iOS have only been supported since iOS 16.4 (March 2023). I'm not sure about the count badges 🤷‍♂️ (I don't use iOS)
Author
Owner

@plittlefield commented on GitHub (Oct 9, 2024):

image

<!-- gh-comment-id:2402841427 --> @plittlefield commented on GitHub (Oct 9, 2024): ![image](https://github.com/user-attachments/assets/5783b934-3ee5-4e83-998f-31bccdc17188)
Author
Owner

@wunter8 commented on GitHub (Oct 9, 2024):

Oh, I know what they are. I just don't know if PWAs support it in general. And I don't know if the ntfy PWA supports them specifically.

(Or were you showing us the ntfy app doesn't have a badge meaning they're apparently not supported? I also can't tell if that's the ntfy app or the ntfy PWA)

<!-- gh-comment-id:2402853418 --> @wunter8 commented on GitHub (Oct 9, 2024): Oh, I know what they are. I just don't know if PWAs support it in general. And I don't know if the ntfy PWA supports them specifically. (Or were you showing us the ntfy app doesn't have a badge meaning they're apparently not supported? I also can't tell if that's the ntfy app or the ntfy PWA)
Author
Owner

@plittlefield commented on GitHub (Oct 9, 2024):

A bit of both - showing you the unread badge count on WhatsApp and that ntfy does not support that feature yet.

<!-- gh-comment-id:2402859063 --> @plittlefield commented on GitHub (Oct 9, 2024): A bit of both - showing you the unread badge count on WhatsApp and that ntfy does not support that feature yet.
Author
Owner

@plittlefield commented on GitHub (Oct 10, 2024):

Web push configured and seems to be OK but after putting the Safari bookmark on the iOS home screen (and then a login to my ntfy account) I no only do not get new notifications but also no unread badges.

Oh well.

I shall stick to the actual app for now.

<!-- gh-comment-id:2404632534 --> @plittlefield commented on GitHub (Oct 10, 2024): Web push configured and seems to be OK but after putting the Safari bookmark on the iOS home screen (and then a login to my ntfy account) I no only do not get new notifications but also no unread badges. Oh well. I shall stick to the actual app for now.
Author
Owner

@plittlefield commented on GitHub (Oct 10, 2024):

I’m trying Chrome on iOS as well - it shows the notice about adding notifications -
IMG_1493

<!-- gh-comment-id:2404884607 --> @plittlefield commented on GitHub (Oct 10, 2024): I’m trying Chrome on iOS as well - it shows the notice about adding notifications - ![IMG_1493](https://github.com/user-attachments/assets/b5b67f19-bb60-4520-be48-3ebf454e0510)
Author
Owner

@wunter8 commented on GitHub (Oct 10, 2024):

When you click on the ntfy-web icon on your homescreen, does it just load the web app in Safari or does it launch a PWA in a standalone screen (without the Safari URL bar on top and stuff)?

<!-- gh-comment-id:2405127688 --> @wunter8 commented on GitHub (Oct 10, 2024): When you click on the ntfy-web icon on your homescreen, does it just load the web app in Safari or does it launch a PWA in a standalone screen (without the Safari URL bar on top and stuff)?
Author
Owner

@plittlefield commented on GitHub (Oct 10, 2024):

I think it’s a PWA … what do you think?

IMG_1496

IMG_1497

… getting there, but of course it’s the actual iOS app that’s showing me notifications on my “Notification Centre” and not the web app.

At least I think so!

Did you want me to uninstall the actual App to see ?

<!-- gh-comment-id:2405214244 --> @plittlefield commented on GitHub (Oct 10, 2024): I think it’s a PWA … what do you think? ![IMG_1496](https://github.com/user-attachments/assets/0711aa29-1d8a-4bb7-81e1-300a7ac95a0e) ![IMG_1497](https://github.com/user-attachments/assets/5d06b042-be49-4c37-b21b-eff80e7867a6) … getting there, but of course it’s the actual iOS app that’s showing me notifications on my “Notification Centre” and not the web app. At least I think so! Did you want me to uninstall the actual App to see ?
Author
Owner

@wunter8 commented on GitHub (Oct 10, 2024):

Yes, that looks like the PWA. You could try uninstalling the native app. No reason not to try that

<!-- gh-comment-id:2405237005 --> @wunter8 commented on GitHub (Oct 10, 2024): Yes, that looks like the PWA. You could try uninstalling the native app. No reason not to try that
Author
Owner

@plittlefield commented on GitHub (Oct 10, 2024):

Okay, that's uninstalled ... drum roll for later today :-)

<!-- gh-comment-id:2405256349 --> @plittlefield commented on GitHub (Oct 10, 2024): Okay, that's uninstalled ... drum roll for later today :-)
Author
Owner

@plittlefield commented on GitHub (Oct 11, 2024):

Well blow me down with a feather!

IMG_1506

<!-- gh-comment-id:2406690189 --> @plittlefield commented on GitHub (Oct 11, 2024): Well blow me down with a feather! ![IMG_1506](https://github.com/user-attachments/assets/a8760bd2-e7d1-4b22-92fb-ee497e4918ea)
Author
Owner

@svewag commented on GitHub (Oct 27, 2024):

I can confirm that the notifications on iOS are working just fine in the PWA, but not in the app.

<!-- gh-comment-id:2440052065 --> @svewag commented on GitHub (Oct 27, 2024): I can confirm that the notifications on iOS are working just fine in the PWA, but not in the app.
Author
Owner

@ghost commented on GitHub (Oct 31, 2024):

@wunter8 Sorry to interrupt. What is NTFY_UPSTREAM_BASE_URL? Do notifications from our self-hosted server need to be forwarded to the official ntfy server?

Also, if I may ask politely, is it because the official ntfy server has APNS configured, whereas our self-hosted server does not?

I'm a novice in this area, so apologies for any mistakes.

<!-- gh-comment-id:2448796624 --> @ghost commented on GitHub (Oct 31, 2024): @wunter8 Sorry to interrupt. What is NTFY_UPSTREAM_BASE_URL? Do notifications from our self-hosted server need to be forwarded to the official ntfy server? Also, if I may ask politely, is it because the official ntfy server has APNS configured, whereas our self-hosted server does not? I'm a novice in this area, so apologies for any mistakes.
Author
Owner

@wunter8 commented on GitHub (Oct 31, 2024):

@chlorine3545 You are correct. Here's some info: https://docs.ntfy.sh/config/#ios-instant-notifications

Let me know if you have more questions

<!-- gh-comment-id:2448971191 --> @wunter8 commented on GitHub (Oct 31, 2024): @chlorine3545 You are correct. Here's some info: https://docs.ntfy.sh/config/#ios-instant-notifications Let me know if you have more questions
Author
Owner

@ghost commented on GitHub (Oct 31, 2024):

First of all, thanks for your reply @wunter8.

Not only Ntfy, but all these unified push can't work properly on iOS, we have to use APNs, which is a shame to some extent. Maybe I should get an Android phone and flash it with LineageOS or something.

<!-- gh-comment-id:2448978742 --> @ghost commented on GitHub (Oct 31, 2024): First of all, thanks for your reply @wunter8. Not only Ntfy, but all these unified push can't work properly on iOS, we have to use APNs, which is a shame to some extent. Maybe I should get an Android phone and flash it with LineageOS or something.
Author
Owner

@lbeier commented on GitHub (Nov 1, 2024):

Hey folks! First of all, thanks for this amazing project! 🥇

I'm also having issues with iOS push notifications. I've set both base-url and upstream-base-url and I believe they are correct.

Not sure what else I'm missing though. It's likely be something really stupid, but I can't really understand what it is.

Here is my docker-compose.yml:

version: "2.1"
services:
  ntfy:
    image: binwiederhier/ntfy:latest
    container_name: ntfy
    command:
      - serve
    environment:
      - TZ=Europe/Madrid
    volumes:
      - lib:/var/lib/ntfy
      - config:/etc/ntfy
    ports:
      - 31209:80 # I have something else running on port 80, so I generated a random port for host
    restart: unless-stopped
    labels:
      - "com.centurylinklabs.watchtower.enable=true"

volumes:
  lib: {}
  config: {}

And here is my server.yml:

base-url: "https://ntfy.<MY-HOMELAB-HOST>"
upstream-base-url: "https://ntfy.sh"

auth-file: "/var/lib/ntfy/auth.db"
auth-default-access: "deny-all"
enable-login: true

behind-proxy: true

cache-file: "/var/lib/ntfy/cache.db"

attachment-cache-dir: "/var/lib/ntfy/attachments"
attachment-total-size-limit: "5G"
attachment-file-size-limit: "15M"
attachment-expiry-duration: "3h"
visitor-attachment-total-size-limit: "100M"
visitor-attachment-daily-bandwidth-limit: "500M"

Some additional info that might be relevant:

  • If I open my NTFY server page in a browser in my laptop, I get instant notifications
  • My NTFY instance is behind a Nginx Proxy Manager, so the behind-proxy needs to be set to true as per my understanding.
  • On iOS NTFY app:
    • The default server is set to my https://ntfy.<MY-HOMELAB-HOST>" with https:// and no trailing /.
    • I've logged in with the admin user I created.
    • I can see the messages if I manually refresh the notifications page, the issue is only with push notifications
    • notifications are set to be delivered instantly
    • is allowed to run in background
  • I have network wide adblocking (Adguard Home), but I don't see anything being blocked by Adguard that is related to NTFY container.
<!-- gh-comment-id:2451888088 --> @lbeier commented on GitHub (Nov 1, 2024): Hey folks! First of all, thanks for this amazing project! 🥇 I'm also having issues with iOS push notifications. I've set both `base-url` and `upstream-base-url` and I believe they are correct. Not sure what else I'm missing though. It's likely be something really stupid, but I can't really understand what it is. Here is my `docker-compose.yml`: ```yaml version: "2.1" services: ntfy: image: binwiederhier/ntfy:latest container_name: ntfy command: - serve environment: - TZ=Europe/Madrid volumes: - lib:/var/lib/ntfy - config:/etc/ntfy ports: - 31209:80 # I have something else running on port 80, so I generated a random port for host restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=true" volumes: lib: {} config: {} ``` And here is my `server.yml`: ```yaml base-url: "https://ntfy.<MY-HOMELAB-HOST>" upstream-base-url: "https://ntfy.sh" auth-file: "/var/lib/ntfy/auth.db" auth-default-access: "deny-all" enable-login: true behind-proxy: true cache-file: "/var/lib/ntfy/cache.db" attachment-cache-dir: "/var/lib/ntfy/attachments" attachment-total-size-limit: "5G" attachment-file-size-limit: "15M" attachment-expiry-duration: "3h" visitor-attachment-total-size-limit: "100M" visitor-attachment-daily-bandwidth-limit: "500M" ``` Some additional info that might be relevant: - If I open my NTFY server page in a browser in my laptop, I get instant notifications - My NTFY instance is behind a Nginx Proxy Manager, so the `behind-proxy` needs to be set to true as per my understanding. - On iOS NTFY app: - The default server is set to my `https://ntfy.<MY-HOMELAB-HOST>"` with `https://` and no trailing `/`. - I've logged in with the admin user I created. - I can see the messages if I manually refresh the notifications page, the issue is only with push notifications - notifications are set to be delivered instantly - is allowed to run in background - I have network wide adblocking (Adguard Home), but I don't see anything being blocked by Adguard that is related to NTFY container.
Author
Owner

@lbeier commented on GitHub (Nov 1, 2024):

So, I've installed the NTFY app on my iPad and the notifications are working on the iPad.

Both iPhone and iPad are in public beta.

iOS 18.1 (22B83)
iPadOS 18.1 (22B82)

There was a pending update on my iPad. Just installed it (iPadOS 18.1 (22B83)) and the notifications are still working.

The issue seems to be isolated to iOS only. 🤔

<!-- gh-comment-id:2451994352 --> @lbeier commented on GitHub (Nov 1, 2024): So, I've installed the NTFY app on my iPad and the notifications are working on the iPad. Both iPhone and iPad are in public beta. iOS 18.1 (22B83) iPadOS 18.1 (22B82) There was a pending update on my iPad. Just installed it (iPadOS 18.1 (22B83)) and the notifications are still working. The issue seems to be isolated to iOS only. 🤔
Author
Owner

@wunter8 commented on GitHub (Nov 1, 2024):

Hmm. I haven't heard of someone having issues on iOS but not on iPadOS. That seems to suggest your ntfy server is configured correctly. I've heard some people say reinstalling the ntfy app can help. But I'm not sure what else to try.

I generally recommend people use the PWA on iOS, though. It has more features than the native app and more reliable notifications. You need to configure web push to get it to work: https://docs.ntfy.sh/config#web-push

<!-- gh-comment-id:2452025747 --> @wunter8 commented on GitHub (Nov 1, 2024): Hmm. I haven't heard of someone having issues on iOS but not on iPadOS. That seems to suggest your ntfy server is configured correctly. I've heard some people say reinstalling the ntfy app can help. But I'm not sure what else to try. I generally recommend people use the PWA on iOS, though. It has more features than the native app and more reliable notifications. You need to configure web push to get it to work: https://docs.ntfy.sh/config#web-push
Author
Owner

@lbeier commented on GitHub (Nov 1, 2024):

Hey @wunter8!

Thanks for the suggestion! I've setup and I'm getting notifications on the pwa now.

Will still investigate a bit mor about the iOS specific issue and get back here if I find something. But for now, the pwa is working just fine.

<!-- gh-comment-id:2452112412 --> @lbeier commented on GitHub (Nov 1, 2024): Hey @wunter8! Thanks for the suggestion! I've setup and I'm getting notifications on the pwa now. Will still investigate a bit mor about the iOS specific issue and get back here if I find something. But for now, the pwa is working just fine.
Author
Owner

@plittlefield commented on GitHub (Nov 1, 2024):

I'd like to chime in and say that while the PWA is working great, there does not seem to be a synchronisation between the PWA app running on my phone and the web site in a browser tab.

What I mean by this is that when I get a notification it appears on both devices, BUT when I read or read and delete from either of the devices, the other device does not appear the same ... indeed all notifications remain UNREAD.

<!-- gh-comment-id:2452279487 --> @plittlefield commented on GitHub (Nov 1, 2024): I'd like to chime in and say that while the PWA is working great, there does not seem to be a synchronisation between the PWA app running on my phone and the web site in a browser tab. What I mean by this is that when I get a notification it appears on both devices, BUT when I read or read and delete from either of the devices, the other device does not appear the same ... indeed all notifications remain UNREAD.
Author
Owner

@wunter8 commented on GitHub (Nov 1, 2024):

@plittlefield That is the expected behavior right now. The state of individual messages is not synchronized between devices/clients

<!-- gh-comment-id:2452312219 --> @wunter8 commented on GitHub (Nov 1, 2024): @plittlefield That is the expected behavior right now. The state of individual messages is not synchronized between devices/clients
Author
Owner

@plittlefield commented on GitHub (Nov 1, 2024):

Oh, okay!

<!-- gh-comment-id:2452407517 --> @plittlefield commented on GitHub (Nov 1, 2024): Oh, okay!
Author
Owner

@soffio commented on GitHub (Nov 3, 2024):

I set up a self-hosted a few days ago and it worked fine. But yesterday I couldn't receive notifications anymore. Today I reinstalled the app and it worked again. It's so weird.

<!-- gh-comment-id:2453384057 --> @soffio commented on GitHub (Nov 3, 2024): I set up a self-hosted a few days ago and it worked fine. But yesterday I couldn't receive notifications anymore. Today I reinstalled the app and it worked again. It's so weird.
Author
Owner

@Vhaelan commented on GitHub (Dec 29, 2024):

Hi @wunter8 I have news.

The addition of the variable NTFY_UPSTREAM_BASE_URL to my docker-compose.yml now makes a Notification appear in the Notification Centre of my iPhone.

However, this is still not quite good enough for me, because I need it to appear on the Lock Screen ... just like Pushover does.

Also, what is PWA ?

I just wanted to add that setting the NTFY_UPSTREAM_BASE_URL environment variable also fixed the issue for me, even though it was also set in server.yml before. The symptoms were the same for me, notifications just stopped coming during the summer, without any changes to my config, but it seems the env variable solves the issue.

<!-- gh-comment-id:2564729049 --> @Vhaelan commented on GitHub (Dec 29, 2024): > Hi @wunter8 I have news. > > The addition of the variable NTFY_UPSTREAM_BASE_URL to my docker-compose.yml now makes a Notification appear in the Notification Centre of my iPhone. > > However, this is still not quite good enough for me, because I need it to appear on the Lock Screen ... just like Pushover does. > > Also, what is PWA ? I just wanted to add that setting the NTFY_UPSTREAM_BASE_URL environment variable also fixed the issue for me, even though it was also set in server.yml before. The symptoms were the same for me, notifications just stopped coming during the summer, without any changes to my config, but it seems the env variable solves the issue.
Author
Owner

@aryapramudika commented on GitHub (Jan 3, 2025):

I have same problem, after change the upstream-base-url to https://ntfy.sh now notification is worked.

here my server.yml

auth-default-access: "deny-all"
auth-file: "/var/lib/ntfy/user.db"
base-url: "https://ntfy.yourdomain.net"
listen-http: ":2586"
upstream-base-url: "https://ntfy.sh"
visitor-request-limit-burst: 100
<!-- gh-comment-id:2568763099 --> @aryapramudika commented on GitHub (Jan 3, 2025): I have same problem, after change the _**upstream-base-url to**_ https://ntfy.sh now notification is worked. here my server.yml ``` auth-default-access: "deny-all" auth-file: "/var/lib/ntfy/user.db" base-url: "https://ntfy.yourdomain.net" listen-http: ":2586" upstream-base-url: "https://ntfy.sh" visitor-request-limit-burst: 100 ```
Author
Owner

@Victor-Buendia commented on GitHub (Jan 7, 2025):

have same problem, after change the upstream-base-url to https://ntfy.sh now notification is worked.

Same here! This was the only change needed and the iOS App notifications are now back.

<!-- gh-comment-id:2575918990 --> @Victor-Buendia commented on GitHub (Jan 7, 2025): > have same problem, after change the _**upstream-base-url to**_ https://ntfy.sh now notification is worked. Same here! This was the only change needed and the iOS App notifications are now back.
Author
Owner

@kilianc commented on GitHub (Jan 7, 2025):

downloading the official app, adding a test topic and tapping sending test does not trigger a notification but refreshing the page shows it was published. I tried pretty much everything in the settings but nothing was helpful.

I understand this is a free product, but I wanted to mention that at this point in time the iOS notification flow, as shown in the homepage does not work with the free tier on the latest iOS (18.2).

I am excited to see this resolved and test it for my personal use case. I'd likely not subscribe to a pro tier until it works but I want to support this amazing product with a donation!

<!-- gh-comment-id:2575998068 --> @kilianc commented on GitHub (Jan 7, 2025): downloading the official app, adding a test topic and tapping sending test does not trigger a notification but refreshing the page shows it was published. I tried pretty much everything in the settings but nothing was helpful. I understand this is a free product, but I wanted to mention that at this point in time the iOS notification flow, as shown in the homepage does not work with the free tier on the latest iOS (18.2). I am excited to see this resolved and test it for my personal use case. I'd likely not subscribe to a pro tier until it works but I want to support this amazing product with a donation!
Author
Owner

@Snake16547 commented on GitHub (Feb 8, 2025):

Also wanna jump in here.
Configured everything like you guys. Push notifications coming through the only thing I'm missing is the little red number over the native ntfy app icon. Is this even possible?

<!-- gh-comment-id:2645596961 --> @Snake16547 commented on GitHub (Feb 8, 2025): Also wanna jump in here. Configured everything like you guys. Push notifications coming through the only thing I'm missing is the little red number over the native ntfy app icon. Is this even possible?
Author
Owner

@ItzYaBoiV commented on GitHub (Mar 8, 2025):

The addition of the variable NTFY_UPSTREAM_BASE_URL to my docker-compose.yml now makes a Notification appear in the

Chiming in as adding this to my env variables fixed the notifications for my iPhone

<!-- gh-comment-id:2708459153 --> @ItzYaBoiV commented on GitHub (Mar 8, 2025): > > The addition of the variable NTFY_UPSTREAM_BASE_URL to my docker-compose.yml now makes a Notification appear in the Chiming in as adding this to my env variables fixed the notifications for my iPhone
Author
Owner

@Amwagner45 commented on GitHub (Mar 9, 2025):

None of the above worked for me I added the base-upstream-url in the yaml file and set as an environment variable. When I go to the app and scroll down I can see new notifications but it isn't creating a banner or add to my Notification Center on iOS. Seems like the only other option is the PWA but that will need to be another weekend project to change.

<!-- gh-comment-id:2708644606 --> @Amwagner45 commented on GitHub (Mar 9, 2025): None of the above worked for me I added the base-upstream-url in the yaml file and set as an environment variable. When I go to the app and scroll down I can see new notifications but it isn't creating a banner or add to my Notification Center on iOS. Seems like the only other option is the PWA but that will need to be another weekend project to change.
Author
Owner

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

@Amwagner45 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:2708645744 --> @wunter8 commented on GitHub (Mar 9, 2025): @Amwagner45 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

@amcmanu3 commented on GitHub (Mar 19, 2025):

I'm also experiencing this issue despite setting NTFY_UPSTREAM_BASE_URL

Image

<!-- gh-comment-id:2735154346 --> @amcmanu3 commented on GitHub (Mar 19, 2025): I'm also experiencing this issue despite setting NTFY_UPSTREAM_BASE_URL ![Image](https://github.com/user-attachments/assets/1e02b6a7-ec24-4841-b4e5-7111628717e8)
Author
Owner

@adamcravas commented on GitHub (Mar 24, 2025):

@wunter8 -- Is the PWA iOS Push notifications supported if we're not self hosting and just using the public https://ntfy.sh topics? I've run into similar issues but am not hosting my own NTFY.

<!-- gh-comment-id:2749236660 --> @adamcravas commented on GitHub (Mar 24, 2025): @wunter8 -- Is the PWA iOS Push notifications supported if we're not self hosting and just using the public https://ntfy.sh topics? I've run into similar issues but am not hosting my own NTFY.
Author
Owner

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

Yes, the public instance has web push configured, so you can use it as a PWA. Just go to the web app (https://ntfy.sh/app) and "Save to homescreen"

<!-- gh-comment-id:2749250724 --> @wunter8 commented on GitHub (Mar 24, 2025): Yes, the public instance has web push configured, so you can use it as a PWA. Just go to the web app (https://ntfy.sh/app) and "Save to homescreen"
Author
Owner

@adamcravas commented on GitHub (Mar 24, 2025):

@wunter8 -- Thanks for the quick reply! I've done that and I can see the red bubble number increase as I push messages from my desktop. However, I have to have the web app open for this to happen. I don't receive any push notifications. Do you happen to have any experience in trouble shooting for that?

<!-- gh-comment-id:2749257469 --> @adamcravas commented on GitHub (Mar 24, 2025): @wunter8 -- Thanks for the quick reply! I've done that and I can see the red bubble number increase as I push messages from my desktop. However, I have to have the web app open for this to happen. I don't receive any push notifications. Do you happen to have any experience in trouble shooting for that?
Author
Owner

@adamcravas commented on GitHub (Mar 24, 2025):

Oh I've got it now! For posterity -- the key (for me) was to Save to home screen from https://ntfy.sh/app (as wunter8 mentioned exactly above). I originally had https://ntfy.sh.

Thanks for all the help @wunter8.

<!-- gh-comment-id:2749271757 --> @adamcravas commented on GitHub (Mar 24, 2025): Oh I've got it now! For posterity -- the key (for me) was to Save to home screen from https://ntfy.sh/app (as wunter8 mentioned exactly above). I originally had https://ntfy.sh. Thanks for all the help @wunter8.
Author
Owner

@garymoon commented on GitHub (Apr 19, 2026):

I tried all the fixes I saw in this thread and no glory. Then I noticed my base-url was http instead of https 🤦‍♂️😂

Thanks to everyone here sharing fixes, and to binwiederhier for ntfy 💙

<!-- gh-comment-id:4275292003 --> @garymoon commented on GitHub (Apr 19, 2026): I tried all the fixes I saw in this thread and no glory. Then I noticed my `base-url` was `http` instead of `https` 🤦‍♂️😂 Thanks to everyone here sharing fixes, and to binwiederhier for ntfy 💙
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#838
No description provided.