8 ms·
Hey cool, this is my project. Happy to answer questions. Edit: I am also looking for a new opportunity. If you need a good Staff/Principal Engineer, check out
by binwiederhier 4y ago
Hey cool, this is my project. Happy to answer questions.
Edit: I am also looking for a new opportunity. If you need a good Staff/Principal Engineer, check out my resume here: https://heckel.io/resume.pdf https://heckel.io/resume.pdf
- marcus_cemes 4y agoFrom the repository that I found, it seems that you wrote the backend in Go. How did it hold up? Any lessons learned?
- binwiederhier 4y agoNo real lessons learned. I like Go, and I like that it lets me do no-fuzz-straight-to-the-point development. The single Go binary and server is handling the traffic just fine, and the architecture is simple and easy to extend. I am suffering a little right now while I try to add E2E encryption, because I structured the handlePublish logic awkwardly. But other than that there have been no surprises. Sorry that's such a boring answer.
- CommitSyn 4y agoNeat project. Where does the funding come from?
- binwiederhier 4y agoIt's quite cheap to run. It's just one small EC2 instance, and it's usually idling around a load average of 0.1 (though right now it's at 1, hehe). It costs me about $24/month. The Apple developer license costs $100 per year, so it's ~$400/year. As of recently, that's entirely covered by donations. I am incredibly humbled by the sponsorships. I would have never thought ntfy would take off like that. I love open source and I promise it'll always be free and open (as long as I can reasonably fight of the abusers). If you'd like to help me out me, you can donate via GitHub Sponsors: https://github.com/sponsors/binwiederhier https://github.com/sponsors/binwiederhier
- jacooper 4y agoIf you would like to lower the cost more, I think switching to a cheaper cloud service like Linode or Hetzner would be the way to go.
- methyl 4y agoI'm not sure if it's worth going any lower than $24/month
- Bluecobra 4y agoIf I were to run my own personal instance of this that cost would be quite high. A free Oracle Cloud VM or $5 Digital Ocean droplet would be the way I go.
- CameronNemo 4y agoHave you thought about integrating with Matrix in any way? I.E. curl ntfy.sh/matrix and put the matrix room id in the post payload. The user would have to invite your ntfy.sh matrix user to the room, and it would not offer encryption, but it might add value for use cases where you want to send to a team or the user wants their notifications in the same place.
- binwiederhier 4y agoIt is integrated with Matrix through UnifiedPush (https://unifiedpush.org/ https://unifiedpush.org/). Many people use it as a distributor to deliver Matrix messages. In fact, matrix.org is publisher #1 for the ntfy.sh instance. See stats here: https://news.ycombinator.com/item?id=33520729 https://news.ycombinator.com/item?id=33520729
- mugivarra69 4y agoverynice, thanks for making
- killthebuddha 4y agoLook for an email from achilles@relay.cc :) I'm building https://github.com/relaycc/receiver https://github.com/relaycc/receiver, and we're hiring.
- binwiederhier 4y agoMuch appreciated! I'll check it out and will reach out (likely tomorrow, busy day).
- Maxburn 4y agoWhat does your reliability look like? Obviously no SLA but what can we really expect? Pay tier available for HA?
- binwiederhier 4y agohttps://ntfy.sh/docs/faq/#what-are-the-uptime-guarantees https://ntfy.sh/docs/faq/#what-are-the-uptime-guarantees I guarantee for nothing, since this is a spare time project. That said, I have had zero outages in 11 months, see https://ntfy.statuspage.io/ https://ntfy.statuspage.io/ When it outgrows the single EC2 instance, I'll likely start building some distributed thingy to spread the load and do some HA things (sounds like fun). Probably just a load balancer and 2-3 instances with a rqlite backend instead of SQLite, nothing too fancy. Right now that's not necessary. As you can see, it handles traffic just fine for now.
- otoolep 4y agorqlite[1] author here, happy to answer any questions about it if it helps. rqlite will give you HA, but won't help with load (rqlite replicates for reliability, not for write performance). But I like to think the it'll give you solid -- and simple to use -- HA. Replicated just replaced their use of Postgres with rqlite for this reason[2]. [1] https://github.com/rqlite/rqlite https://github.com/rqlite/rqlite [2] https://www.replicated.com/blog/app-manager-with-rqlite/ https://www.replicated.com/blog/app-manager-with-rqlite/
- binwiederhier 4y agoI love the internet. Random people meet in so many places. rqlite is awesome. Fantastic project.
- rsanaie 4y agoStart providing it (reliability/HA) and turn it into an actual business :-) It'd be a lot more fun than getting a principle position
- dested 4y agoYesssss, I have been looking for this type of service forever. I'm excited
- wilshiredetroit 4y agoP.S. congratulations on the Baby!
- willyyr 4y agoThank you for creating this. I was just looking for something like that to send notifications to my mobile without setting this all up and deploying my own app to the store. Using ntfy now :)
- tubs 4y agoHow were you a principal engineer with 5 years experience and a senior principle with 7? Genuinely curious.
- josegonzalez 4y agoNot knowing anything about the engineer in question, no two people's experience over a given period of time is equivalent. Additionally, levels differ wildly at different organizations.
- hnarn 4y agoBecause titles don’t tell you anything, they are decided by the organization you work in for any number of reasons.
- deleted 4y ago[deleted]
- kaczordon 4y agoTime spent doing a job != skill. Once you hit a certain threshold of course.
- mongrelion 4y agoCongratulations. It seems like your project is well received in the community. Could you elaborate on how this differs from gotify?
- syedmsawaid 4y agoHow can one integrate it into his own android app?
- binwiederhier 4y agoTo publish, just PUT/POST via your favorite HTTP library, or publish via intent (https://ntfy.sh/docs/subscribe/phone/#automation-apps https://ntfy.sh/docs/subscribe/phone/#automation-apps). And to subscribe, either use UnifiedPush (https://unifiedpush.org/ https://unifiedpush.org/), or use intents (see link above). Or, implement your own foreground service with WebSockets (just like the ntfy app does).
- adamddev1 4y agoI absolutely love this, and my mind's already buzzing with a bunch of ways I can use it. I love the simplicity, the docs, the pleasant experience of understanding and getting it running. (In like 10 seconds!) No logins, no user permissions management, no API keys and complicated auth creds, just a topic/password. So cool. I think it's cool for every once and awhile to push back against the trends for complication/over-engineering even if just to remind us of how simple/straightforward software can really be. You've made a beautiful piece of software for your own enjoyment and the benefit of others. It is just what it needs to be. Bravo. In a world where projects get massively complicated and pumped full of VC funding, may efforts like this live on.
- tristanbvk 4y agoOne really cool use I am making use of is that I am building an IRC not that interacts with Gitea webhooks. I decided to add Ntfy.sh support today just because it was so goddamn easy. Thanks for the cool service! Now whenever new pull requests, issues or commits are made I get a ding on my phone!