centrifugal/centrifugo

Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably, socket.io, Phoenix.PubSub, SignalR. Set up...

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 5 minutes ago
Added to GitGenius on September 5th, 2026
Created on March 31st, 2015
Open Issues & Pull Requests: 24 (+0)
GitHub issues: Enabled
Number of forks: 729
Total Stargazers: 10,721 (+0)
Total Subscribers: 191 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 16
New in 7 days: 1
Closed in 7 days: 1
Avg open age: 595 days
Stale 30+ days: 15
Stale 90+ days: 15

Recent activity

Opened in 7 days: 1
Closed in 7 days: 1
Comments in 7 days: 1
Events in 7 days: 4

Top labels

No label distribution available yet.

Detailed Description

Centrifugo is a scalable real-time messaging server that delivers messages to connected users over WebSocket, HTTP-streaming, Server-Sent Events, GRPC, and WebTransport protocols.

The tool solves the problem of adding real-time capabilities to applications without coupling business logic to transport layer concerns. It operates as a language-agnostic PUB/SUB server where backends communicate with Centrifugo over HTTP or GRPC APIs to publish messages into channels, while clients subscribe using official SDKs or unidirectional approaches. This architecture decouples real-time functionality from application code, allowing teams to build chat applications, live comments, multiplayer games, real-time data visualizations, collaborative tools, and AI streaming responses in combination with any backend.

Centrifugo suits projects that need production-ready real-time messaging without vendor lock-in. It positions itself as a self-hosted alternative to managed services like Pubnub, Pusher, and Ably, as well as to framework-specific solutions like socket.io, Phoenix.PubSub, and SignalR. The tool is particularly valuable for modern architectures where separating the real-time transport layer from business logic reduces complexity. Teams should consider it when they need to handle many concurrent connections efficiently and want to avoid the operational overhead of managing multiple real-time solutions across different application environments.

The project maintains active development with regular updates to its codebase. The tool has accumulated substantial community engagement through its repository. Documentation is comprehensive, covering installation, quickstart tutorials, and production configuration. The project provides an embedded admin UI for local development and monitoring, accessible immediately after spinning up a Docker container, which lowers the barrier to initial evaluation.