this post was submitted on 20 Nov 2023
3 points (100.0% liked)

Self-Hosted Main

515 readers
1 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

For Example

We welcome posts that include suggestions for good self-hosted alternatives to popular online services, how they are better, or how they give back control of your data. Also include hints and tips for less technical readers.

Useful Lists

founded 1 year ago
MODERATORS
 

I want to introduce you to a new open-source project we've been working on for the past year or so - a Push Notification Microservice. This microservice is designed to provide a straightforward, ready-to-use solution for sending push notifications to iOS and Android devices via Firebase.

Some key aspects of this microservice include:

  • Ease of Setup: It's built to be user-friendly, enabling you to run it in less than 30 minutes.
  • Open-Source Flexibility: The code is available for anyone to fork, modify, and use without limitations.
  • Serverless Infrastructure: Developed on top of AWS CDK, the microservice leverages cloud-native technologies for high scalability and reliability.
  • Comprehensive Features: Includes everything needed for push notification management, from user and device ID handling to detailed logs and push notification inbox functionality.

This tool can be a valuable asset for developers looking for an efficient way to manage push notifications in their projects. Your feedback and contributions are welcome, as they help us improve and evolve the service.

Check it out and let us know what you think: https://github.com/HyperSense-Software/agnostic-push-notification-microservice

I am looking forward to your thoughts and feedback!

top 9 comments
sorted by: hot top controversial new old
[–] [email protected] 1 points 11 months ago (1 children)

Can you make it a docker container?

[–] [email protected] 1 points 11 months ago

We'll consider it, thanks for the idea. It might take us a couple of months to get there.

[–] [email protected] 1 points 11 months ago

What’s the benefit or difference compared to ntfy?

[–] [email protected] 0 points 11 months ago (1 children)

So no third party service needed??? I was thinking this was a requirement for iOS. Am I wrong ?

[–] [email protected] 1 points 11 months ago (1 children)

iOS now supports web push so no third party tools are required. But requires the site to be a PWA and to be installed.

[–] [email protected] 1 points 11 months ago (1 children)

Sadly, I believe web push notifications still go through a centralised server provided by the browser developer.

[–] [email protected] 1 points 11 months ago (1 children)

It would be very wasteful to deliver them directly. In this architecture every app has to manage connections and this is not good for battery powered device. It also allows to unload apps from the memory but still get the notifications.

Using apple servers is not that bad after all. If you care about privacy than you can use encryption. The message is delivered to the service worker that can decrypt them.

[–] [email protected] 1 points 11 months ago (1 children)

I understand why, I just wish there was a way to do notifications without a centralised, internet connected server.

One of the things I do is build communications systems for scientific crews who are often working in places with local wifi but no internet. They'd really like to have a Matrix server (or similar) they can use to send each other messages. But as far as I've been able to determime this is currently impossible. :-(

Deltachat is the best solution I've been able to find.

[–] [email protected] 1 points 11 months ago

Unfortunately, it's not feasible to send traditional push notifications on a local network since they rely on Apple's and Google's servers. However, a workable alternative involves having mobile apps run in the background. This is straightforward on Android and, while more challenging on iOS, it's certainly achievable.
By connecting these background-running apps to a broadcasting server using a socket connection, you can facilitate the exchange of messages between the server and the mobile app. Consequently, the apps can generate local notifications. These local notifications have the same appearance and functionality as standard push notifications, providing a similar user experience without the need for external server dependencies.