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 👦👧
Just try it out. I make no guarantees for odd setups like that though. :-)
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 ;-)
That looks pretty neat. Thanks!
You really should. It’s pretty darn amazing.
I have noticed that I use it less myself. I think honestly though, at least for me, that it is 90% related to the clunky and awkward UI of ChatGPT. If it was easy to natively type the prompt in the browser bar I’d use it much more.
Plus, the annoying text scrolling thingy … Just show me the answer already, hehe.
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.
Related question: is “Hot” super buggy? I am on 0.18.0, but I still often see really really really old posts (1 year old, 2 years old) sprinkled in with new stuff, and I often see clusters of 5-10 posts of a single community grouped together.
I have to pay extra attention to the post age because of this.
I asked the same question on r/selfhosted a few weeks ago, and I was downvoted just for asking the question.
https://www.reddit.com/r/selfhosted/comments/13elu4p/why_downvote_so_much/
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/
It only works with 16.4 afaik.
No the Android app is way better hehe. The PWA is for iOS folks and for people that do not want to install an app on their phone. And for people that do not want to keep the browser tab open to receive notifications on your desktop.
And? Works? Doesn’t work?
Sadly no. I must admit I was incredibly disappointed by the webpush spec. ntfy could easily be a push service, but the spec does not allow that. You cannot override your own server.
There are instructions on how to install the PWA on Safari/iOS here: https://docs.ntfy.sh/subscribe/pwa/#safari-on-ios
No. Web Push is a spec implemented by all browsers that allows servers to push notifications to the browser via their own push service. Each browser ships with its own hardcoded web push endpoints. Chrome uses FCM under the hood, Firefox uses some Mozilla servers, and so on.
However, all messages are encrypted with a key that the push servers do not know. Only your server and your browser do.
Basic cooking is just following recipes. So you can either get a cookbook with recipes “in 30min” or something, or you can go to your local grocery store and see if they have free magazines with recipes.
We live on the east coast in the US, and Stop+Shop has recipes in its free magazine, and they are always pretty easy.
--message-expiry-duration
is an option that you can pass when creating a new tier (in your selfhosted instance). It is equivalent to thecache-duration
for users publishing in that tier.For instance, if you are a ntfy Pro user, your messages are cached much longer than the normal 12h (see https://ntfy.sh/v1/tiers).
The naming is a little odd. I think
cache-duration
should probably be called something else.