Sockudo

Production-Ready Realtime Infrastructure

Drop-in Pusher replacement built in Rust. Own your WebSocket infrastructure with enterprise features like delta compression, tag filtering, and multi-region scaling.

Choose an install path

Run docker compose up -d to start Sockudo on :6001.

services:  sockudo:    image: ghcr.io/sockudo/sockudo:latest    ports: ["6001:6001"]    volumes: ["./config.toml:/app/config.toml"]

Why Sockudo?

Built for teams that need control, performance, and advanced features beyond basic pub/sub.

Blazing Fast

Written in Rust with async I/O. Handle millions of concurrent connections with minimal resource usage. Scales horizontally with Redis, Redis Cluster, NATS, Pulsar, RabbitMQ, Google Pub/Sub, or Kafka.

Drop-in Compatible

Keep your existing Pusher integrations. Works seamlessly with pusher-js, Laravel Echo, and all official Pusher SDKs. Migrate without changing client code.

Advanced Features

Delta compression with conflation keys reduces bandwidth by 80-95%. Server-side tag filtering sends only relevant messages to clients.

Production Ready

Built-in rate limiting, origin validation, per-app quotas, health checks, Prometheus metrics, and webhook batching. Deploy with confidence.

Flexible Storage

Store app configs in memory, MySQL, PostgreSQL, DynamoDB, ScyllaDB, or Redis. Choose what fits your infrastructure.

Multi-Client SDKs

Official JavaScript, Swift, Kotlin, and Flutter clients with filter subscriptions, encrypted channels, and delta reconstruction.

Core Features

Everything you need to build production-grade realtime applications.

Lightning Fast Websockets

Written in Rust with async I/O. Handle millions of concurrent connections with minimal resource usage.

Server startup
Bash
$ sockudo --config config.toml[INFO] Listening on :6001[INFO] Ready for websocket traffic

Drop-in Pusher Replacement

Keep your existing Pusher integrations. Works seamlessly with pusher-js, Laravel Echo, and all official SDKs.

pusher-js
JavaScript
const pusher = new Pusher("app-key", {  wsHost: "127.0.0.1",  wsPort: 6001,});

Delta Compression

Send only message differences instead of full payloads. Conflation keys group messages by entity for 80-95% bandwidth savings.

Delta options
TypeScript
client.subscribe("ticker:btc", {  delta: {    enabled: true,    algorithm: "xdelta3",  },});

Tag Filtering

Server-side message filtering with tags. Clients subscribe with filter expressions and receive only matching messages.

Filter expressions
TypeScript
client.subscribe("market", {  filter: Filter.and(    Filter.eq("event", "trade"),    Filter.gte("price", "100"),  ),});

Get Started in Minutes

Three ways to run Sockudo, from Docker compose to production clusters.

Docker Compose

Clone the repo and run `docker compose up`. Perfect for local development and testing. Health checks and metrics included.

Precompiled Binary

Install with `cargo binstall sockudo` for instant setup. Choose feature flags for Redis, NATS, SQL backends. No compilation required.

Build from Source

Compile with custom features using Cargo. Full control over dependencies. Supports all backends and integrations.

Official JavaScript Client

@sockudo/client extends Pusher's API with advanced features while maintaining full compatibility.

Filter API

Subscribe with server-side filters using a fluent API. Supports equality, pattern matching, and complex combinations.

Delta Reconstruction

Automatic delta decoding with cache management. Track bandwidth savings with stats hooks. Per-subscription configuration.

Framework Integration

Works with Laravel Echo, React, Vue, Svelte, and vanilla JavaScript. Custom connector for Echo with full feature support.

Integrations & Ecosystem

Connect Sockudo with your existing tools and frameworks.

Laravel Echo

Drop-in replacement for Pusher with Laravel Broadcasting. Use `@sockudo/client` connector for advanced features.

Pusher-JS

Standard pusher-js works out of the box. No code changes needed. Point wsHost to your Sockudo server and you're ready.

Backend SDKs

Use official Pusher server libraries in PHP, Node.js, Python, Ruby, Go, and .NET. Publish events with ease.

Horizontal Adapters

Scale with Redis, Redis Cluster, NATS, Pulsar, RabbitMQ, Google Pub/Sub, or Kafka adapters with health monitoring.

Database Support

Store application configs in MySQL, PostgreSQL, DynamoDB, ScyllaDB, or Redis. In-memory mode for development.

Queue & Webhooks

Process webhooks asynchronously with Redis queues or AWS SQS. Automatic batching and retry logic included.

Ready to Get Started?

Install Sockudo, connect your first client, and start building realtime features in under 5 minutes.
Copyright © 2026