Gotify
Simple server for sending and receiving push notifications.
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.
Self-host it
Run the open-source version on your own infrastructure.
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
- 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
Built with gotify/server. OpenToolVault provides the discovery and browser interface while crediting the original project maintainers.
- Built with
- License
- MIT
Open-source project
OpenToolVault is an independent directory. We are not affiliated with or endorsed by this project.
References
- / — GitHub Repository
Upstream project · GitHub
- MIT License
Upstream project
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.