Hi I’m Phil 👋, I’m a software engineer, and I maintain an open source push notification tool called ntfy. I’m also German 🇩🇪, and a big fan of 🇬🇧 & 🇺🇸, and a dad of two 👦👧

  • 3 Posts
  • 19 Comments
Joined 1Y ago
cake
Cake day: Jun 11, 2023

help-circle
rss

Great writeup thank you. May I just say that tmyour original plan was both ambitious and a little insane. And even the current cost and infrastructure is bonkers IMHO.

I do hope you’re getting donations to help with the cost. Good luck.

My instance is on the other end of the spectrum: I pay $6/month for it on digitalocean. It has 1G of RAM. It crashes every now and then, likely because of the RAM and OOM killer. But it’s only for me and a few ntfy fans, so it’s quite different.


I do cover the costs yes, through donations and the paid plans.

It’s definitely fun to do some things, but others are daunting indeed. I do, however, learn a lot. I have learned a lot that I was able to reuse elsewhere. All that is priceless.


Thanks. I don’t work on it full time, no. It’s a side gig project I’ve been doing for a year and a half. I recently added paid plans to get a little side income, but it’s not really taken off. Likely because the free tier is too generous hehe.


Use ntfy.sh. It’s open source and has a free server.

Disclaimer: I made it ;-)


You can type reset to fix your terminal if it gets messed up like that.


Install Debian Stable on a SSD, most likely via debootstrap from the Ubuntu system

What an interesting way to install a new system. I’ve only ever done that for image building purposes. Why would you do that instead of just installing it from a flash drive?

Also: it sounds like you’re manually installing things. I would suggest Ansible or something similar, so that reinstalling isn’t so brittle and manual.



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.

Here’s a list: https://docs.ntfy.sh/integrations/


cross-posted from: https://discuss.ntfy.sh/post/30818 > Hello friends 👋, it's that time again. A new [ntfy](https://ntfy.sh) 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](https://ntfy.sh/docs/publish/)). 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)](https://docs.ntfy.sh/subscribe/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](https://docs.ntfy.sh/config/#web-push) for selfhosted servers! > > ![](https://discuss.ntfy.sh/pictrs/image/ce983544-e5bb-4fd4-890c-dccc1a67c4a2.jpeg) > > ![](https://discuss.ntfy.sh/pictrs/image/cf7c3650-3b1c-44ad-86a0-3043d5381479.jpeg) > > On top of that, this release also brings **dark mode** 🧛🌙 to the web app. > > 🙏 A huge thanks for this release goes to [@nimbleghost](https://github.com/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](https://github.com/sponsors/binwiederhier) or [Liberapay](https://en.liberapay.com/ntfy/), or buying a paid plan via the [web app](https://ntfy.sh/app). Contrary to "popular" belief, **I am not swimming in money due to the paid plans.** 😬 > > Detailed release notes: https://docs.ntfy.sh/releases/ > > Other links: > > - ntfy website: https://ntfy.sh/ > - ntfy web app: https://ntfy.sh/app > - GitHub (server): https://github.com/binwiederhier/ntfy > - GitHub (Android): https://github.com/binwiederhier/ntfy-android > - Google Play: https://play.google.com/store/apps/details?id=io.heckel.ntfy > - F-Droid: https://f-droid.org/en/packages/io.heckel.ntfy/ > - Discord: https://discord.com/invite/cT7ECsZj9w > - Matrix: https://matrix.to/#/#ntfy:matrix.org > - Lemmy (brand new 🔥): https://discuss.ntfy.sh/ (register on other instances please) > > Public topics: > - https://ntfy.sh/stats (daily stats scraped from nginx logs) > - https://ntfy.sh/announcements (release announcements)
fedilink

Hello folks, **Request for testing:** The next [ntfy](https://ntfy.sh) server release will contain a **[progressive web app](https://en.wikipedia.org/wiki/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!__ 🥳), and get basic push notification support (without any battery drain). Installing the PWA gives ntfy web its own launcher (e.g. shortcut on Windows, app on macOS, launcher shortcut on Linux, home screen icon on iOS, and launcher icon on Android), a standalone window, push notifications, and an app badge with the unread notification count. ![](https://discuss.ntfy.sh/pictrs/image/c15cf3f3-1a7c-4184-b330-146f6cfd9ff0.png) ![](https://discuss.ntfy.sh/pictrs/image/9536daf4-3094-44f2-a45e-e50f3468d035.png) **Testing instructions**: The (hopefully) production ready version of the PWA is currently deployed on https://staging.ntfy.sh/app -- Install instructions with screenshots can be found in the docs (https://docs.ntfy.sh/subscribe/pwa/). Please report bugs or issues on [Discord](https://discord.gg/cT7ECsZj9w), [Matrix](https://matrix.to/#/#ntfy-space:matrix.org), or Lemmy (!ntfy@discuss.ntfy.sh). **PLEASE HELP TEST** Huuuuge thanks goes to @nimbleghost for developing this entire feature top to bottom. If you throw donations ([GitHub Sponsors](https://github.com/sponsors/binwiederhier) or [Liberapay](https://liberapay.com/ntfy)) my way, I'll share them with him. He certainly deserves it for all this great work. 👏 -- If you don't know what ntfy is: ntfy (pronounce: notify) is a simple HTTP-based pub-sub notification service. You can use it to send push notifications to your phone via HTTP PUT/POST. You can [selfhost it](https://docs.ntfy.sh/install/) or use the hosted version on [ntfy.sh](https://ntfy.sh)
fedilink

I just read this article and what Meta is doing then triggered all the alarm bells!

This tactic even has a Wikipedia page: Embrace, extend, and extinguish

From the Wiki (quite enlightening):

The strategy’s three phases are:

  • Embrace: Development of software substantially compatible with a competing product, or implementing a public standard.
  • Extend: Addition and promotion of features not supported by the competing product or part of the standard, creating interoperability problems for customers who try to use the “simple” standard.
  • Extinguish: When extensions become a de facto standard because of their dominant market share, they marginalize competitors that do not or cannot support the new extensions.

I know this is possibly a little insensitive, but I find it quite poetic for the folks to die similarly, and in proximity to the Titanic. They must have really liked the Titanic, and they died doing something that they’ve probably looked forward to a long time.


You got a lot of heat in this discussion, but let me be one of the few to applaud you for actually making a proposal. Saying No is easy, but suggesting something and writing it down and putting it out there is hard.

I am a Principal Engineer by trade, and i do what you did here all the time. I put out suggestions to my team and let them absolutely wreck it. This is how you advance and enhance your idea. Listen and learn from the feedback and suggest another thing based on what you have learned. Rinse and repeat.

That’s how you get to a great proposal. Keep at it. Well done.


I hosted my incoming mail for years with a minimal postfix config that would just relay to Gmail. That got me individual email addresses per service (e.g. grubhub@mydomain.com, …) that I could turn off when a service got annoying.

It worked wonderfully without issues for years. And by years i mean 8-10 years!

Recently, 11 months ago, i noticed that some mails were not relayed anymore, and i ultimately switched to Cloudflare for that feature. You can read more about that here: https://www.reddit.com/r/selfhosted/comments/vqk4j9/mail_relay_as_a_service_moving_away_from/

That said, if you only want to store the incoming mail, I don’t think you’ll have issues beyond spam, a lot of spam.

Good luck.


Hey 👋 I know you. Hehe.

And yes, it should not be hidden. It is very much unexpected, because Reddit doesn’t do it, and it’s not visible to normal users.


The privacy stinks you say? Did you know that Likes and Dislikes are public too? That was the most shocking to me. Because it is very much not like Reddit or others.

It’s still a fantastic piece of software, with all its flaws, though.


That’s a good move IMHO. Honestly I don’t want my UI to randomly shift down when new messages come in from syncing with another instance.

The right move would be to make a page that renders once and then only updates when you refresh the page. And then use web push for message notifications.


Thank you for the insight. Fascinating. Also insane that ever upvote causes a flood of messages being distributed…


I maintain and host ntfy.sh, an open source push notification service. I have a constant 9-12k WebSocket and HTTP stream connections going, and I host it on a two core machine with an average load average of less than 1. So I can happily tell you that it’s not WebSockets. Hehe.

My money would be on the federation. Having to blast/copy every single comment to every single connected instance seems like a lot.



Using healthchecks.io and ntfy.sh to wake you up if your services are down
cross-posted from: https://discuss.ntfy.sh/post/3200 > I use ntfy (on another instance) + healthchecks.io to wake me up at night when ntfy.sh is down (crazy inception, right?). It's the "poor man's PagerDuty" if you will. It works amazingly. > > Here's how I set it up: > > - I signed up healthchecks.io (free plan) and configured a project for "ntfy.sh" with a "ntfy" integration, i.e. publish to `ntfy.example.com/<secret>` with max priority > - I have two different hosts execute small "integration ntfy.sh tests" and only ping healthchecks.io if they succeed. If they don't healthchecks.io will publish to `ntfy.example.com/<secret>` > - In the ntfy Android app, I subscribe to `ntfy.example.com/<secret>`, enable "Keep alerting on highest priority", and make it override DND (do not disturb) for this topic. > > Now when ntfy.sh goes down, the integration tests in the cronjobs will fail, and so healthchecks.io will not be pinged, which will trigger it to publish to `ntfy.example.com/<secret>` and **let my phone consistently ring until I acknowledge it.** (Disclamer: I am the maintainer of [ntfy](https://ntfy.sh). Hope posting this is fine. Happy to answer questions; I also have a brand new [ntfy community](https://discuss.ntfy.sh/c/ntfy), feel free to join)
fedilink
3