Gotify vs Apprise: Which Should You Self-Host?

Quick Verdict

Gotify is a push notification server with its own Android app — messages go from your server to your phone. Apprise is a notification router that forwards messages to 100+ services (Slack, Discord, email, etc.). Use Gotify when you want direct push notifications to Android devices with a self-hosted backend. Use Apprise when you need to broadcast alerts across multiple platforms.

Updated March 2026: Verified with latest Docker images and configurations.

Overview

Gotify is a self-hosted push notification server written in Go. It provides a web UI for managing messages, a REST API for sending them, and an Android app for receiving them. Simple architecture: server stores messages, clients poll via WebSocket.

Apprise is a notification abstraction layer that normalizes sending messages to over 100 notification services. Instead of learning each service’s API, you configure target URLs and Apprise handles the rest.

Feature Comparison

FeatureGotifyApprise
ArchitecturePush notification serverNotification router
Android appYes (F-Droid + GitHub)No — uses target services’ apps
iOS appNo (WebSocket limitation)No — uses target services’ apps
Supported targetsOwn client apps + WebSocket100+ services
Web UIYes (receive + manage messages)Yes (API docs + send UI)
Message priority10 levels (0-10)3 levels
PluginsYes (Go plugins for custom actions)No (but extensible via URL schemes)
User managementBuilt-in (multi-user)API key or open access
Message persistenceYes (stored in database)No (fire-and-forget)
AttachmentsYesLimited (depends on target)
API styleREST (token auth)REST (URL-based target config)
Docker image size~20 MB~100 MB
RAM usage20-40 MB80-150 MB
LicenseMITBSD 2-Clause

Installation Complexity

Gotify deploys with a single container — no dependencies:

services:
  gotify:
    image: gotify/server:2.9.1
    container_name: gotify
    restart: unless-stopped
    ports:
      - "8080:80"
    volumes:
      - gotify_data:/app/data
    environment:
      - GOTIFY_DEFAULTUSER_NAME=admin
      - GOTIFY_DEFAULTUSER_PASS=${ADMIN_PASSWORD}

Apprise also deploys easily but needs target configuration:

services:
  apprise:
    image: caronc/apprise:v1.9.1
    container_name: apprise
    restart: unless-stopped
    ports:
      - "8000:8000"
    volumes:
      - apprise_config:/config
    environment:
      - APPRISE_STATEFUL_MODE=simple

Both are straightforward. Gotify is immediately useful after deployment (create a token, send messages). Apprise needs target URLs configured before it does anything.

Performance and Resource Usage

MetricGotifyApprise
RAM idle20-40 MB80-150 MB
CPUMinimal (Go)Low (Python)
Disk~20 MB + message DB~100 MB (Python deps)
Message throughputThousands/secondHundreds/second
Startup time<1 second2-3 seconds

Gotify is significantly lighter — Go binary vs Python application. The throughput difference rarely matters since both are fast enough for notification workloads.

Community and Support

MetricGotifyApprise
GitHub stars11,000+12,000+
DocumentationGood (official docs)Good (wiki)
Update frequencyModerateMonthly
CommunityGitHub discussionsGitHub issues

Use Cases

Choose Gotify If…

  • You use Android and want push notifications without Google FCM
  • You want persistent message storage with history
  • You prefer a dedicated notification app on your phone
  • You need multi-user notification channels with separate tokens
  • You want plugin support for custom notification handling

Choose Apprise If…

  • You need to send to Slack, Discord, Telegram, and email from one API call
  • You want to swap notification targets without changing application code
  • You’re integrating notifications into a CI/CD pipeline or monitoring stack
  • You need to route different alerts to different teams on different platforms
  • You don’t need a dedicated mobile app — target services have their own

Use Both Together

Gotify can be an Apprise target. Set up Apprise as your notification router, and include your Gotify server URL as one of the destinations. Your monitoring sends to Apprise → Apprise fans out to Slack (team) + Gotify (your phone) + email (audit log).

Final Verdict

Gotify is the better choice for personal push notifications, especially on Android. Its persistent message storage and dedicated app make it ideal for server alerts that you want to review later. Apprise is the better choice for application-level notification routing — when your code needs to send to many platforms without coupling to any one service. For most self-hosters, start with Gotify for personal alerts and add Apprise when you need multi-platform distribution.

Comments