Loading page...Загружаем страницу...正在加载页面...
AtlasRepo

Self-hosted Pusher-compatible WebSocket server with Sockudo

说明与用途

Sockudo 是一个用 Rust 构建的自托管 WebSocket 服务器,兼容 Pusher 协议。它提供高效的资源利用和水平扩展能力,允许用户在不修改现有前端代码的情况下替换托管服务。

问题

Need for a self-hosted, resource-efficient alternative to managed WebSocket services like Pusher, Laravel Reverb, or Soketi, while maintaining compatibility with existing client libraries.

结果

A self-hosted, Pusher-compatible WebSocket server implemented in Rust, offering low resource usage, horizontal scaling via various adapters, and seamless integration with existing Pusher client libraries.

工作流

  • Choose deployment method: Docker or Cargo install.
  • For Docker: Run 'docker run -d -p 6001:6001 sockudo/sockudo:latest'.
  • For Cargo: Run 'cargo install sockudo'.
  • Configure adapters for scaling (Redis, Redis Cluster, NATS, or local).
  • Configure backend for app config storage (MySQL, PostgreSQL, DynamoDB, or in-memory).
  • Configure queue system for webhooks (Memory, Redis, SQS).
  • Point existing Pusher client libraries (e.g., Laravel Echo) to the Sockudo endpoint.
  • Monitor using built-in Prometheus metrics and optional Grafana dashboard.

证据

I built a WebSocket server in Rust that implements the Pusher protocol. It's designed to be a self-hosted alternative to Pusher, Laravel Reverb, or Soketi.

来源

The main reason was performance and resource efficiency. It runs with Tokio for async, uses fastwebsockets for the WebSocket implementation, and the whole thing is pretty lean on memory.

来源

  • 记录日期: 2026-09-07T13:05:30.742Z