
In simple English
Gorush is a small program that sits on your server and sends push notifications to mobile phones. Instead of writing separate code for Apple and Google, you talk to Gorush using a simple web request. It handles the message queues and worker threads so your app stays fast. It is free to use and runs easily on a modest cloud server.
What it is
Gorush is an open-source push notification micro server written in Go (a compiled programming language designed for fast networking and concurrency). It accepts REST API (a way for different programs to talk to each other over the web) requests and delivers notifications through Apple Push Notification Service, Firebase Cloud Messaging, and Huawei Mobile Services.
What it is good for
Solo developers building mobile apps who need a reliable way to dispatch alerts, reminders, or chat messages to users across multiple device platforms without paying for a managed notification service.
- Handles thousands of notification deliveries with low memory usage.
- Supports Apple, Android, and Huawei devices from a single endpoint.
- Includes built-in Prometheus metrics and health check endpoints.
- Requires managing your own notification provider credentials and certificates.
- Setting up Redis or another queue engine adds infrastructure complexity.
- Requires command-line familiarity to deploy and configure on a server.
Writing custom notification dispatch code for APNs and FCM in your backend
Redis
- parse-community/parse-server21k stars
A complete backend framework that includes built-in push notification support for multiple platforms.
- LimeSurvey/LimeSurvey3.7k stars
Survey software you install yourself, with around thirty question types and twenty years behind it.
- containrrr/shoutrrr1.7k stars
Sends a notification to any of about twenty services from a single line of text.
- botpress/botpress15k stars
The command-line tool, software kit and integrations for the Botpress cloud service, rather than a chatbot you host.
curl -fsSL https://raw.githubusercontent.com/appleboy/gorush/master/install.sh | bash ~/.gorush/bin/gorush