ntfy vs Stalwart XMPP

TaglineSimple HTTP-based push notifications to phone and desktop, no account neededModern all-in-one XMPP server with web admin panel written in Rust
CategoryTeam Chat & CollaborationTeam Chat & Collaboration
ReplacesSlack, Microsoft TeamsSlack, Microsoft Teams
GitHub stars31k800
LanguageGoRust
LicenseApache-2.0AGPL-3.0
Self-host difficulty
2/5
Easy
2/5
Easy
Deploy options
Docker
Docker Compose
Manual
Docker
Manual
Managed hosting
Last updated6 days ago1 month ago
View repoView repo

Where each falls short

The honest trade-offs — what you give up with each, versus the proprietary tools they replace.

ntfy
  • No team chat, threading, or message history browsing; designed for one-way push alerts only.
  • No rich message formatting, file sharing, or reactions.
  • Rate limiting and attachment storage on the free public server are intentionally restrictive.
  • iOS push requires routing through ntfy's own APNs proxy unless you self-compile the app.
Stalwart XMPP
  • Younger project with a smaller community and less battle-tested than Prosody or Ejabberd
  • No native web chat client included; users need a third-party XMPP app
  • Clustering and high-availability support is still maturing

Bottom line

Both are a similar lift to self-host; choose ntfy for the larger community and ecosystem. ntfy has seen more recent development. Open each guide below for deploy steps and the full feature gap.

ntfy

Simple HTTP-based push notifications to phone and desktop, no account needed

Stalwart XMPP

Modern all-in-one XMPP server with web admin panel written in Rust