WD NAS App Builder

All apps

ntfy 2.37.2-1

Push notifications to your phone and browser, from the NAS's apps and scripts

productivity

Download

NASSizeSHA256
My Cloud PR410031 MBDownloadb531667428f17118…
My Cloud PR210031 MBDownload4bfaf57851cb68d6…
My Cloud DL410031 MBDownload523f916f9a725bd6…
My Cloud DL210031 MBDownloadaabb8f50392a37c9…
My Cloud EX410030 MBDownloadcf03dfd7ca8e8b47…
My Cloud EX210030 MBDownload38c731197aca451f…
My Cloud EX2 Ultra30 MBDownload6a028d2d47c58297…
My Cloud Mirror (Gen 2)30 MBDownloaddf406466444e05b0…
My Cloud (Gen 2)30 MBDownload4642a76199df3cb2…
WD Cloud30 MBDownloadd673dff06de14eb7…

Easier: install it from the Store, which also updates it.

ntfy sends push notifications to phones (its Android and iPhone apps) and browsers (its web app). Anything that can make a web request can send one - the NAS's apps (Uptime Kuma, Grafana alerts, Kopia) and your own scripts, e.g. curl -d "Backup finished" https://ntfy.<domain>/nas. Notifications are grouped into topics (e.g. nas), which devices subscribe to. It runs natively on the NAS (no Docker).

  • It's at https://ntfy.<domain> through the Nginx app, if installed (added automatically, with streaming turned on for it), and at http://<nas-ip>:2586 on the local network unless limited to the Nginx app on the management page. ntfy's own web app is at the same address.
  • Nobody can read or send without logging in. The app creates an admin user, for the phone apps and the web app (its password is generated - the management page shows, copies or replaces it), and an access token for the apps and scripts that send notifications. Both are declared in ntfy's configuration, which holds only the password's bcrypt hash; sign-ups are off.
  • Messages are kept for a day (so a phone that was offline still gets them), attachments up to 15MB.
  • It runs as its own ntfy user (created by the app, ID 76), not as root.
  • Its data is kept next to the app, e.g. /mnt/HD/HD_a2/Nas_Prog/_ntfy, and survives reinstalls and removal: the messages, users and attachments in data/ (with the generated server.yml), the admin password and token (root only), the page's settings, and ntfy.log (warnings only, kept under 1MB).
  • It's the official static program (prepared by static/ntfy). ntfy doesn't update itself: updates come with new versions of the app, and the NAS shows an alert when a new release is out, checked weekly.
  • For the Intel and ARM models (the ARM ones' packages are checked under emulation when they're built, but haven't yet been tried on an ARM NAS).

Phones

Install the ntfy app, add the server (the address on the management page) and log in as admin, then subscribe to the topics the apps send to.

  • Android keeps a connection to the server open, so notifications arrive at once.
  • iPhones only get notifications at once through Apple's push service. ntfy reaches it through ntfy.sh's relay, which is sent only each message's ID, not its contents - the phone then fetches the message from the NAS. Turn it on on the management page (it's off by default, as it contacts ntfy.sh); without it, an iPhone only sees new messages when the app is opened.

Away from home: the phone fetches messages from the NAS, so it needs to reach it. The Nginx app is reachable from the local network only by default, so either connect to home over a VPN (e.g. the project's Tailscale app, or your router's own VPN), or make ntfy reachable from the internet (e.g. by forwarding the router's port 443 to the NAS - which exposes every site of the Nginx app; ntfy itself requires its login).

Sending notifications

With the access token (from the management page):

curl -H "Authorization: Bearer <token>" -H "Title: Backup" -H "Tags: floppy_disk" -d "Backup finished" https://ntfy.<domain>/nas
  • Uptime Kuma: Settings → Notifications → ntfy, with the server address, a topic and the token (access token authentication).
  • Grafana: a contact point of type Webhook to https://ntfy.<domain>/nas?template=grafana (ntfy formats Grafana's alerts), with the header Authorization: Bearer <token>.
  • Kopia: a notification profile of type Webhook to https://ntfy.<domain>/nas, with the same header.

The management page can send a test notification to any topic.

Management page

ntfy's page in the NAS dashboard (Apps → ntfy) shows whether it's running, its version and address, the phone apps' login (with the password) and the access token (both can be replaced), an example command, and how to set up Uptime Kuma, Grafana and Kopia. It sends test notifications, limits access to the Nginx app, turns iPhone instant notifications on or off, restarts ntfy, and shows its latest warnings. Only NAS admins can use the page (see Management pages).