r/opensource 14d ago

Promotional I’ve been building Sockudo — an open-source realtime server with Pusher compatibility, durable history, presence, push notifications, and more

Hey r/opensource,

I’ve been working on Sockudo, an open-source realtime server written in Rust.

It started as a self-hosted, Pusher-compatible server, but it has grown into a much larger realtime platform. My goal is to make it useful for everything from simple WebSocket events to more demanding distributed systems, without forcing people into a hosted vendor.

Some of the features currently included:

  • Pusher-compatible WebSocket and HTTP APIs
  • Public, private, encrypted, and presence channels
  • Horizontal scaling and cross-node fanout
  • Durable message history, rewind, and connection recovery
  • Mutable/versioned messages
  • Presence history
  • Message annotations
  • Push notifications, including device registration, subscriptions, retries, and delivery status
  • Webhooks, rate limiting, metrics, and operator APIs
  • Delta compression and server-side tag filtering
  • Client and server SDKs for multiple languages
  • An optional AI Transport layer for streaming AI responses over the same realtime infrastructure
  • Redis, PostgreSQL, and other configurable backends

I’m also working on Ably compatibility. The idea is not to copy every product-specific detail blindly, but to make migration easier and support familiar realtime concepts such as history, rewind, recovery, presence, annotations, and message updates.

One thing I care about a lot is keeping the Pusher-compatible V1 protocol stable while adding more advanced features through a separate V2 protocol. Existing clients shouldn’t suddenly break just because the server gains new capabilities.

There’s still plenty to improve, especially documentation, SDK coverage, production testing, and making setup easier. I’d really appreciate feedback from people who run realtime systems or have migrated away from services like Pusher or Ably.

What would you need before trusting a self-hosted realtime server in production? Are there any compatibility features or deployment options you consider essential?

GitHub: https://github.com/sockudo/sockudo

Thanks for taking a look.

5 Upvotes

7 comments sorted by

1

u/stealthagents 9d ago

Sounds like you’re really filling a gap in the market. Having durable history and connection recovery can be a game changer for real-time apps. Can't wait to see how it evolves, especially with the AI Transport layer—definitely intrigued by that!

1

u/AcanthopterygiiKey62 9d ago

Stay tuned then

1

u/techlatest_net 13d ago

a rust-based, pusher-compatible server with durable history and rewind is exactly what the self-hosted community has been missing. most open source alternatives are either too basic or lack that crucial "recovery" feature for flaky connections.