ntfy release π - Now with Web Push and a progressive web app (hello iOS friends β€οΈ), and with dark mode for the web app! ntfy lets you send push notifications to your phone via a simple REST API, and
Hello friends π, it's that time again. A new ntfy release has landed. This one is pretty cool!
For those who don't know, ntfy is a a tool that lets you send push notifications to your phone from any script or server using a simple HTTP PUT/POST requests. It's 100% open source and self-hostable, and has an Android app and a web app. You can use ntfy like this (more in the docs). This will send a notification to your phone:
curl -d "Backup on $(hostname) complete" ntfy.sh/mytopic
I host free and open version on ntfy.sh, but you can host your own of course.
π₯ What's new? With this release, the ntfy web app now contains a progressive web app (PWA) with Web Push support, which means you'll be able to install the ntfy web app on your desktop or phone similar to a native app (even on iOS! π₯³). Installing the PWA gives ntfy web its own launcher, a standalone window, push notifications, and an app badge with the unread notification count. Note that this needs to be configured for selfhosted servers!
On top of that, this release also brings dark mode π§π to the web app.
π A huge thanks for this release goes to @nimbleghost, for basically implementing the Web Push / PWA and dark mode feature by himself. I'm really grateful for your contributions.
β€οΈ If you like ntfy, please consider sponsoring us via GitHub Sponsors or Liberapay, or buying a paid plan via the web app. Contrary to "popular" belief, I am not swimming in money due to the paid plans. π¬
It's a nice way to send notifications to your phone about all sorts of things. Due to the fact that it just needs a simple curl command to trigger a notification, it's incredibly flexible.
Haven't used ntfy, but since it's fairly similar to gotify, which I have run for a while, these might give you an idea:
uptime monitoring service like uptime kuma, so I get a notification to my phone when a service or server goes down
sonarr/radarr to notify me when a new episode of a TV show or movie gets grabbed
monitoring script that kept an eye on my disk-space on a fairly small VPS
octoprint to send low-priority notifications when a 3D print is finished and high-priority notifications when a print failed
Basically, if you have any services/scripts that just run silently in the background and do their thing, but you want to be notified when something specific happens, applications like ntfy or gotify come in pretty handy. And since all you need to trigger a notification is a simple curl command, it's easy to integrate with all sorts of stuff.
I have a backup script that runs every morning and I had it send a notification with ntfy on how many errors/warnings occurred. With backups it's important to actually know your backups are working.
I also have it report battery voltage and health every so often, which should hopefully give me advance warning of a spicy pillow in my laptop server.
Vikunja is a todo-app I enjoy quite a bit, but it only has email notifications. I made a script that runs every 15 minutes that reads all the tasks from the Vikunja API and sends me reminders or overdue tasks, and ntfy allows me to configure buttons on the notification which allows me to mark things done without having to open Vikunja.
It's a pretty good tool for anywhere you would want notifications.
The biggest reason is that PWA allows for web push notifications.
iOS is pretty strict when it comes to background apps keeping open connections, that's one of the reasons why there is no gotify app on iOS. They list the possible workaround with apple's APN service, but that would kind of defeat the purpose of selfhosting,
I'm afraid the biggest obstacle would be Apple's strict restrictions on background services. We cannot keep a persistent WebSocket connection in the background without abusing some APIs, which will absolutely disqualify the app from going onto the App Store and drain the battery significantly. Notifications could only be delivered through APN, which requires a developer account and a central server to manage notifications and send them to Apple before reaching the user, but this is not what gotify is designed for.
//edit: If you check the ntfy docs, you'll see that instant delivery is not supported on iOS. So if you have uses that are time-sensitive, PWA with web push definitely has the advantage.
Is there plans to add integrations to other self host apps? I could see it being useful for integrations with Lemmy and arr software specifically. Doing this would increase popularity with it since it increases use cases.
It's already integrated into a bunch of things, especially the *arrs, but if you have suggestions, please let me or the maintainers of the other software know.
Hey I looked into this some more, and.had a question. If I locked the web part behind my own auth provider and keep API part open but not exposed externally, would that be the way to keep publishing and subscribing private? I'd plan on using PWA, so breaking app versions wouldn't be a concern.