
In simple English
When a website or server breaks in the middle of the night, someone needs to know. This tool manages who is on duty and who gets called next if they do not answer. It sends text messages and voice calls to wake people up. You host it on your own server so you do not pay a monthly fee to an outside company. Setting it up takes some technical work and a PostgreSQL database.
What it is
GoAlert (an open-source on-call scheduling and notification system written in the Go programming language) wakes up the right person when something breaks. It handles escalation policies and sends alerts through various channels.
What it is good for
Solo builders and small teams who need a reliable way to page themselves when their systems go down, without paying for expensive commercial alert services.
- Runs as a single binary or inside Docker, making server deployment straightforward.
- Includes a built-in demo mode with test accounts for quick evaluation.
- Apache-2.0 licence lets you use and modify it freely for your business.
- Requires an external PostgreSQL database (a structured system for storing data in tables) to run properly.
- Setting up phone calls and text messaging requires configuring third-party providers like Twilio.
- Managing on-call rotations and escalation rules takes time to configure correctly.
Paid on-call alerting services like PagerDuty or manual phone trees
PostgreSQL (a structured system for storing data in tables) for persistent data storage
- netdata/netdata81k stars
Monitors server performance and health in real time, though it focuses more on metrics than on-call schedules.
- vectordotdev/vector23k stars
One collector that gathers logs and numbers from machines and sends them to one or more monitoring services.
- bluewave-labs/Checkmate11k stars
A self-hosted monitor that checks whether sites and services answer, records response times and sends alerts.
- statping-ng/statping-ng2.0k stars
A single-file status page and uptime checker that works with SQLite, PostgreSQL or MySQL.
docker run -it --rm -p 8081:8081 goalert/demo