Sockudo Documentation
Build, operate, and extend Sockudo: the Rust realtime server with Pusher compatibility, Protocol V2, clustered fanout, recovery, history, push, and official SDKs.
Sockudo is a self-hosted realtime platform for teams that want Pusher-compatible APIs with deeper control over protocol evolution, horizontal scaling, history, recovery, observability, and SDK behavior.
The server has two protocol surfaces:
Protocol V1
Pusher-compatible wire behavior for existing pusher-js, Laravel Echo, and Channels-compatible backend integrations.
Protocol V2
Sockudo-native event prefixes, serial continuity, message IDs, recovery, rewind, tag filters, deltas, annotations, and mutable messages.
Server operations
Configuration, app managers, adapters, queues, cache backends, metrics, webhooks, rate limits, TLS, and cluster behavior.
SDKs
Realtime client SDKs and server HTTP SDKs with language-specific examples and production notes.
Recommended path
- Run a local Sockudo server from Installation.
- Publish and receive your first event from First connection.
- Add private and presence channel auth from Authentication.
- Choose Protocol V1 or V2 from Compatibility.
- Wire your client from Realtime Clients and your backend from Server SDKs.
- Harden the deployment with Scaling, Security, and Observability.
Local baseline
The examples use the default development app:
port = 6001
host = "0.0.0.0"
[app_manager]
driver = "memory"
[[app_manager.array.apps]]
id = "app-id"
key = "app-key"
secret = "app-secret"
enabled = trueFor production, replace every example credential, enable TLS at the edge, use managed app storage, and keep app secrets only on trusted servers.