
Centrifugo
Language-agnostic real-time messaging server over WebSocket and SSE
Overview
Centrifugo is a scalable, self-hosted real-time messaging server that supports WebSocket, SSE, SockJS, and HTTP-streaming transports. It is language-agnostic: any backend can publish messages to channels via a REST or gRPC API, and frontend SDKs are available for JavaScript, Swift, Dart, and more. It supports channel history, presence tracking, JWT authentication, and horizontal scaling via Redis or Nats.
Where it falls short of Slack
- Developer-facing infrastructure component, not an end-user chat application; requires custom UI.
- Managed hosting (Centrifugal Cloud) is still early and not yet a full Pusher replacement in pricing.
- Persistent message storage requires an external database; Centrifugo only provides a short-term history buffer.
- No built-in admin UI for channel management or user monitoring beyond basic metrics.
We list the gaps honestly so you can decide if the trade-off is worth owning your data.
Tags
Claim this listing to keep it accurate, add a deploy template, or feature it on relevant pages.
Embed the Centrifugo difficulty badge in your README — it links back here.
[](https://openreplace.com/centrifugo)Similar open-source projects
Other self-hostable tools in the same space worth comparing.
Fully customizable open-source communications platform and Slack alternative
Open-source notification infrastructure for multi-channel developer alerts
Open-source, self-hostable Slack alternative for secure team messaging and collaboration
Simple HTTP-based push notifications to phone and desktop, no account needed