Rust realtime infrastructure for teams that need ownership
Buy me a coffee

Pusher-compatible realtime, without the black box.

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.

2 protocolsV1 compatibility and V2 native capabilities.
14 SDKsRealtime clients plus HTTP server libraries.
9 fanout pathsMemory, Redis, NATS, Kafka, Iggy, and more.
localhost:6001
# run the server
cargo run --release --features full

# or bring up local infrastructure
docker compose up sockudo redis
import 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);

Documentation designed around production decisions.

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.

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.

Protocol V2 when you need more

Enable native Sockudo event prefixes, serial continuity, message IDs, recovery, rewind, deltas, filters, annotations, and durable history.

Horizontal fanout

Scale across nodes with Redis, Redis Cluster, NATS, Kafka, RabbitMQ, Pulsar, Google Pub/Sub, or Apache Iggy adapters.

Operational controls

Expose health, readiness, Prometheus metrics, webhooks, rate limits, quotas, origin checks, TLS, and failure visibility for production teams.

History and recovery

Use replay buffers for reconnect continuity, optional durable channel history, presence history, and versioned mutable messages.

Push platform

Register devices, manage credentials, publish async notifications, schedule delivery, and inspect push status across major providers.

SDK examples are first-class, not footnotes.

Every official realtime client and server HTTP SDK has installation, configuration, auth, publish, history, and production guidance with syntax-highlighted examples.

Engineering notes from the realtime edge.

The blog section documents the design choices behind Sockudo so operators can understand the tradeoffs, not just copy commands.