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

Self-hosted Pusher-compatible WebSocket server with Sockudo

Описание и применение

Sockudo — это самодостаточный WebSocket-сервер на Rust, совместимый с протоколом 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