icon of soketi

Soketi

Soketi is a self-hosted, Pusher-compatible WebSocket server for real-time pub/sub messaging without per-message fees or connection limits. MIT licensed, runs on Node.js or Docker.

5.6K stars354 forksTypeScriptAGPL-3.0
Open source alternative toPusherAblyPubNub

What Soketi does

Soketi is a self-hosted WebSocket server that implements the Pusher protocol, so any existing Pusher client SDK connects to Soketi without code changes, eliminating per-message fees from Pusher's hosted service.

The Problem

Pusher simplifies adding real-time features to web applications through a hosted WebSocket service, but charges per message and per concurrent connection. Applications with high-frequency events (live dashboards, collaborative editing, presence channels) hit Pusher's pricing limits quickly. Building a custom WebSocket server requires handling connection management, message routing, and horizontal scaling from scratch.

How Soketi Solves It

Soketi implements the Pusher protocol, so any existing Pusher SDK for JavaScript, Python, PHP, Ruby, or other languages connects to a Soketi server without code changes. It handles pub/sub channels, presence channels, and private channels with authentication. Scales horizontally via Redis adapter. MIT licensed; runs as a Node.js process or Docker container.

Key Features

  • Pusher-compatible protocol: swap Pusher for Soketi by changing the host in your existing Pusher client config
  • Private and presence channel support with authenticated subscriptions
  • Horizontal scaling via Redis adapter for multi-instance deployments behind a load balancer
  • HTTP API for server-side event publishing compatible with Pusher's REST API
  • Compatible with all Pusher client SDKs (JavaScript, Python, PHP, Ruby, iOS, Android)
  • MIT licensed; deploy via Docker or Node.js

Who It's For

Soketi is best for development teams using Pusher in production who want to eliminate per-message fees by running the same real-time infrastructure on their own servers, or teams building new real-time features who want WebSocket pub/sub without a vendor dependency.

Compared to Pusher

Unlike Pusher, Soketi runs on your own servers with no per-message fees or connection limits enforced by a third party. Pusher offers a fully managed service with global data centers and enterprise SLAs; Soketi requires you to manage the server and Redis for scaling, but the Pusher SDK compatibility makes migration a one-line configuration change.

GitHub Activity

5.6KStars
354Forks
141Open Issues
AGPL-3.0License

Tech Stack

  • TypeScript

Details

Info

Frequently Asked Questions

Related Alternatives

Stay Updated

Subscribe to our newsletter for the latest news and updates about Alternatives