Skip to content

Gotify

Simple server for sending and receiving push notifications.

Self-hostedNot yet verified
Report issueDemo online
MIT★ 11000

Open the official app on gotify.net

This tool is hosted by its maintainers. Click below to open gotify.net in a new tab — it's their official demo.

Browse communication tools →

What's next with Gotify?

Choose how you want to get started.

Use it free

Open the official tool or demo — no account needed.

Free

Self-host it

Run the open-source version on your own infrastructure.

Open

What is Gotify?

Gotify is an open-source messaging server designed for real-time communication between applications and users via WebSocket. Its primary purpose is to enable developers and teams to send and receive messages securely, with features like REST API integration and user management. The tool is popular among developers and system administrators who require self-hosted solutions for internal notifications, monitoring, or lightweight messaging. It addresses the need for a simple, maintainable alternative to commercial push services by providing a customizable server that operates without external dependencies. Gotify's focus on minimalism and extensibility makes it suitable for environments where privacy, control, and low overhead are priorities.

How it works

Gotify is a self-hosted messaging server that facilitates real-time communication through WebSocket connections. It allows users to send messages via REST API and receive notifications through client applications. The tool is designed for scenarios requiring lightweight, customizable messaging without reliance on third-party services. Its core functionality includes managing users, clients, and applications, making it ideal for internal tools or small-scale deployments. Gotify supports sending messages via REST API, receiving messages through WebSocket, and managing user roles and access. It includes a web-based UI for administration and CLI tools for command-line message pushing. The Android app provides push notifications for subscribed users.

How to use it

  1. 1Install the server using Docker or a package manager. 2. Configure the web UI and set up users via the admin panel. 3. Use the CLI tool to send messages to specific clients. 4. Subscribe clients (e.g., Android app) to receive WebSocket notifications. Practical tips: Ensure the server runs on a secure port, use TLS for encrypted communication, and test message delivery via the CLI before deploying to clients.

What it can do

  • self-hosted notifications

Use cases

Assumptions and limitations

Assumptions

  • source: https://github.com/gotify/server
  • license: MIT — free to use
  • privacy: Self-hosted — you control your data

Limitations

  • Lacks advanced message scheduling or expiration controls
  • No built-in encryption for message payloads (requires TLS for transport)
  • Requires manual setup and maintenance for production use
  • Limited third-party integration without custom development
  • Mobile push notifications depend on the Android app

Understanding the result

Simple server for sending and receiving push notifications.

Tool details

  • Clearly flagged when a network request is needed.
  • No account, no sign-up, and no tracking of your content.
  • Powered by (MIT).
Built with
(gotify/server)
License
MIT
Runs locally
No — requires a network request
Verification
Not yet verified
Input
Query
Output
Text
Open-source source & license

Built with gotify/server. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.

Built with
License
MIT
View source on GitHub

Open-source project

OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.

References

Frequently asked

How does Gotify handle message delivery reliability?

Gotify relies on WebSocket connections for real-time delivery, which can be interrupted if the server disconnects. It does not implement message persistence or retry mechanisms. Users must ensure stable server uptime and consider additional redundancy for critical notifications.

How does Gotify's WebSocket protocol work?

Clients connect to the Gotify server via WebSocket to subscribe to message streams. When a message is sent through the REST API, the server broadcasts it to subscribed clients. The connection remains open until the client disconnects, allowing for real-time updates without repeated requests.

How do I send a message using the CLI?

Install the gotify/cli tool and use the command 'gotify push -t "Test" -m "Hello" -u <token> -s <server-url>". Replace <token> with a client authentication token and <server-url> with the server's address. This sends a message to the specified client.

How does Gotify compare to Pushover or Firebase?

Unlike Pushover, Gotify requires self-hosting and lacks built-in push notification infrastructure. Compared to Firebase Cloud Messaging, it has no cloud backend and requires manual client management. Gotify is simpler and more privacy-focused but less feature-rich for enterprise use.

What should I do if my Android app can't receive messages?

Verify the Android app is connected to the correct server URL and using the right client token. Check firewall settings to ensure WebSocket ports (e.g., 80, 443) are open. Ensure the server is running and the client app has proper permissions to access network services.

Spotted something wrong with Gotify, or want to maintain it? See how to help.