Pusher-compatible by default
Run existing Channels clients, Laravel Echo, and backend SDKs against a self-hosted Rust server without changing the public protocol surface.
Sockudo is a self-hosted realtime server with a Pusher-compatible Protocol V1, a Sockudo-native Protocol V2, horizontal fanout, durable history, recovery, filtering, push notifications, and SDKs for every production surface in this repository.
# run the server
cargo run --release --features full
# or bring up local infrastructure
docker compose up sockudo redisimport Sockudo from "@sockudo/client";
const client = new Sockudo("app-key", {
wsHost: "127.0.0.1",
wsPort: 6001,
forceTLS: false,
protocolVersion: 2,
connectionRecovery: true,
});
client.subscribe("orders").bind("created", console.log);The new docs are organized by the way teams adopt Sockudo: get a local server running, choose a protocol, wire clients, publish from backends, then harden the cluster.
Run existing Channels clients, Laravel Echo, and backend SDKs against a self-hosted Rust server without changing the public protocol surface.
Enable native Sockudo event prefixes, serial continuity, message IDs, recovery, rewind, deltas, filters, annotations, and durable history.
Scale across nodes with Redis, Redis Cluster, NATS, Kafka, RabbitMQ, Pulsar, Google Pub/Sub, or Apache Iggy adapters.
Expose health, readiness, Prometheus metrics, webhooks, rate limits, quotas, origin checks, TLS, and failure visibility for production teams.
Use replay buffers for reconnect continuity, optional durable channel history, presence history, and versioned mutable messages.
Register devices, manage credentials, publish async notifications, schedule delivery, and inspect push status across major providers.
Every official realtime client and server HTTP SDK has installation, configuration, auth, publish, history, and production guidance with syntax-highlighted examples.
Open the guide
SockudoSwiftOpen the guide
io.sockudo:sockudo-kotlinOpen the guide
sockudo_flutterOpen the guide
Sockudo.ClientOpen the guide
sockudoOpen the guide
sockudo-http-pythonOpen the guide
sockudo-httpOpen the guide
The blog section documents the design choices behind Sockudo so operators can understand the tradeoffs, not just copy commands.
How Sockudo keeps Pusher compatibility intact while adding serial continuity, native features, and migration room.
Practical guidance for adapters, duplicate delivery, recovery, observability, and fanout failure modes.
A tour of Sockudo realtime and server SDKs, where credentials belong, and how client/server responsibilities divide.