Modular adapters for horizontal scaling (Redis, Redis Cluster, NATS, or local) Multiple backends for app config storage (MySQL, PostgreSQL, DynamoDB, or in-memory) Queue systems for webhooks (Memory, Redis, SQS) Rate limiting with configurable backends Prometheus metrics built in
Getting started is straightforward:
docker run -d -p 6001:6001 sockudo/sockudo:latest
Or install from crates.io:
cargo install sockudo
Current status: The project has comprehensive Prometheus metrics, supports SSL/TLS, has CORS configuration, and includes both REST API and WebSocket endpoints. There's a Grafana dashboard for monitoring, health check endpoints, and it works with Kubernetes deployments. The docs cover most deployment scenarios - Docker, K8s, AWS, GCP, Azure. There's a Makefile with shortcuts for common operations and a test suite. What it doesn't have yet: I'm working on OpenTelemetry support and SurrealDB support for app managing. The benchmarking setup exists but I haven't published official performance numbers because I want to do proper testing across different scenarios first. Why I'm sharing: If you need a self-hosted WebSocket solution that's Pusher-compatible, this might be useful. The codebase is MIT licensed and contributions are welcome. I built it to solve a problem I had, and figured others might have the same issue.
GitHub: https://github.com/RustNSparks/sockudo
Docs: https://sockudo.app
Crates.io: https://crates.io/crates/sockudo
Happy to answer questions about the implementation, deployment, or architecture decisions.