Logo
Deploy Now

Stars

15482

Forks

843

Watchers

116

Developer links

Gotify

Real-time alerts from your own infrastructure to your phone, with no Firebase, Pushover, or third-party push service in the path: Gotify is a simple, self-hosted notification server written in Go. The model is deliberately minimal: senders push messages with a single HTTP POST to the REST API, receivers subscribe over a WebSocket stream, and a clean React web UI manages the pieces. Senders are namespaced as "applications," each with its own token, so your backup script, Uptime Kuma, CI pipeline, and cron jobs each get an identity, an icon, and independently revocable credentials - centralized alerting from many services with per-source management. Messages carry a title, body, and priority level that maps to notification importance on the client. The official Android app (on both F-Droid and Google Play, notable for working entirely without Google Play Services) shows push notifications for new messages; the web UI itself supports Web Push in the browser; and gotify/cli pushes messages from shell scripts with one command. A server-side plugin system adds custom behavior, and the whole thing runs as a single small binary with SQLite by default - near-zero resource footprint. Because dozens of tools (and Apprise) speak Gotify natively, it slots in as the notification hub for an entire homelab or ops stack.

Gotify

Benefits

  • No Third Party in the Path
  • Alerts travel from your server to your phone directly - no Firebase, no per-message pricing, no data sharing.
  • One Token per Service
  • Application-scoped tokens give every script and monitor its own identity, icon, and revocable credential.
  • Trivial to Integrate
  • A single curl POST sends a notification - and Apprise, Uptime Kuma, and dozens of tools support Gotify natively.
  • Runs on Anything
  • One small Go binary with SQLite - negligible RAM and CPU, ideal alongside your existing stack.

Features

  • REST API Sending
  • Push messages with title, body, and priority via a simple authenticated HTTP POST.
  • WebSocket Delivery
  • Clients receive messages in real time over a persistent stream connection.
  • Android App Without Google
  • Official client on F-Droid and Google Play; push works with no Play Services dependency.
  • Application and Client Management
  • Web UI for users, per-app sender tokens, client sessions, and message history.
  • CLI Client
  • gotify/cli sends notifications from shell scripts and cron jobs in one command.
  • Plugin System
  • Extend the server with custom Go plugins for routing, webhooks, and integrations.