How does it compare to NTFY?
Different philosophy.
Ntfy uses pub-sub like MQTT. It publishes messages and anyone (with access) can subscribe to it. Want to connect 250 clients across 50 people to have the same messages delivered? Easy.
Gotify uses end to end messaging. A user creates an application on their chosen client. Gotify uses a REST api send the notification pulled from the chosen app to the user who made it. Want to do the same as above? You have to set it up 250 times. Gotify was the first to have authentication and some people say it is more robust, but I can’t speak on that. Also gotify is easier to set up and makes sense for a single user.
Someone can correct me if I am wrong, but that is the biggest architectural difference.
What sort of notifications is this aimed at?
I use it with apprise and mailrise (email interface over apprise) typically. Apprise is basically a generic notification sender that can send push notifications to a bunch of different clients, including gotify.
So, things like Proxmox errors get set to a fake mailrise address -> apprise -> gotify. And a lot of Linux apps in general (especially older ones) only support email notifications, so this is quite useful. You can also use apprise directly, even as a commandline interface. So you can make scripts to notify you of problems in cases where there isn’t already proper logging and notification support.
And I’ve setup diun to give me notifications for docker version updates. In this case, diun sends notifications to gotify directly.
Interesting. Can you send messages with the web UI?