Skip to content

No more IOS push notification since July 2024 #1191

Description

@GuillaumeDebernard

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!

Metadata

Metadata

Assignees

No one assigned

    Labels

    iosntfy iOS app🪲 bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions