Configs2026年4月16日·1 分钟阅读

Gotify — Self-Hosted Push Notification Server

Gotify is a simple, self-hosted push notification server with a REST API, real-time WebSocket delivery, and a web UI plus Android app for receiving alerts.

Introduction

Gotify is a simple, self-hosted server for sending and receiving push notifications. With a clean REST API for sending messages and WebSocket-based real-time delivery, it provides a private alternative to services like Pushover or Firebase Cloud Messaging.

What Gotify Does

  • Receives push notifications via a simple REST API from any script or service
  • Delivers messages in real-time to the web UI and Android app via WebSockets
  • Organizes notifications by application with per-app tokens and priorities
  • Supports a plugin system for extending server functionality with Go plugins
  • Provides message history with search and pagination in the web interface

Architecture Overview

Gotify is a single Go binary with an embedded SQLite database. The REST API handles message creation and user management. WebSocket connections provide real-time push delivery to clients. The web UI is a React application bundled into the binary. Plugins are loaded as shared Go libraries at runtime.

Self-Hosting & Configuration

  • Run via Docker with a single volume for the SQLite database and config
  • Or download the static binary for Linux, macOS, or Windows
  • Configure config.yml for port, database path, and default user settings
  • Create application tokens in the web UI for each service that sends notifications
  • Set message priority levels (0-10) to control notification urgency on clients

Key Features

  • Dead simple API: a single POST with title and message sends a notification
  • No external dependencies — single binary with embedded database and web UI
  • Android app with priority-based notification channels and sound customization
  • Per-application tokens isolate services and allow granular revocation
  • Markdown support in messages for formatted notification content

Comparison with Similar Tools

  • ntfy — HTTP-based pub/sub notifications; Gotify uses WebSockets and app tokens
  • Pushover — commercial push service; Gotify is free and self-hosted
  • Apprise — notification aggregator library; Gotify is a server with persistent history
  • Signal/Telegram bots — messaging platform dependent; Gotify is fully self-contained
  • Bark — iOS focused; Gotify targets Android and web with plugin extensibility

FAQ

Q: Is there an iOS app? A: There is no official iOS app due to Apple push notification requirements, but the web UI works on iOS browsers and third-party clients exist.

Q: How do I send a notification from a script? A: Use curl: curl -X POST "http://gotify/message?token=APP_TOKEN" -F "title=Alert" -F "message=Disk full". Any HTTP client works.

Q: Can I set different priorities? A: Yes. Set the priority field (0-10) when posting a message. The Android app maps priorities to notification channels with configurable sounds.

Q: Does it scale for many users? A: Gotify is designed for personal or small team use. For large-scale notification infrastructure, consider dedicated message brokers.

Sources

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产