
Deploy Sockudo
Sockudo 5.0: Pusher-compatible WebSocket server for real-time apps.
sockudo
Just deployed
Deploy and Host Sockudo on Railway
Sockudo is a fast WebSocket server written in Rust that implements the Pusher Channels protocol. Existing Pusher client libraries and server SDKs work with it unchanged, so apps can add live updates, presence and private channels without a hosted service. It is a drop-in backend for Laravel Echo and pusher-js.
About Hosting Sockudo
This template runs the official sockudo/sockudo:5.0.1 image as one public service. It creates a single app from the generated app ID, key and secret, and your server signs event triggers with that secret. Clients connect with WSS on port 443 of the Railway domain. State is kept in memory, so there is no database, and clients reconnect after a redeploy. Sockudo 5 also includes a mobile push module that wants persistent storage in production. It is not used here, so PUSH_ALLOW_MEMORY_DRIVERS acknowledges the in-memory default. Client-to-client events are off by default.
Common Use Cases
- Self-hosted Pusher replacement for Laravel Broadcasting and Echo
- Live dashboards, notifications and chat with private and presence channels
- Cutting per-connection costs of a hosted real-time service
Dependencies for Sockudo Hosting
sockudo/sockudo:5.0.1(official image)- No database or volume in single-node mode
Deployment Dependencies
Implementation Details
| Service | Source | Networking | Storage |
|---|---|---|---|
| sockudo | sockudo/sockudo:5.0.1 | public HTTPS/WSS | none |
| Variable | Purpose |
|---|---|
SOCKUDO_DEFAULT_APP_ID, _KEY, _SECRET | Generated app credentials (the secret stays on your server) |
SOCKUDO_DEFAULT_APP_ALLOWED_ORIGINS | Comma-separated origins allowed to connect; empty allows all |
SOCKUDO_ENABLE_CLIENT_MESSAGES | false; set true to allow client events |
PUSHER_HOST, PUSHER_PORT, PUSHER_SCHEME | Values for Pusher SDK settings |
Laravel .env example:
BROADCAST_CONNECTION=pusher
PUSHER_APP_ID=${{sockudo.SOCKUDO_DEFAULT_APP_ID}}
PUSHER_APP_KEY=${{sockudo.SOCKUDO_DEFAULT_APP_KEY}}
PUSHER_APP_SECRET=${{sockudo.SOCKUDO_DEFAULT_APP_SECRET}}
PUSHER_HOST=${{sockudo.PUSHER_HOST}}
PUSHER_PORT=443
PUSHER_SCHEME=https
This is a single node with in-memory adapters. Running several replicas needs Sockudo's Redis or NATS adapter, which is not configured here.
This is a community-maintained deployment package and does not imply affiliation with or endorsement by the Sockudo project or Pusher.
Why Deploy Sockudo on Railway?
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Sockudo on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Template Content
sockudo
sockudo/sockudo:5.0.1SOCKUDO_DEFAULT_APP_ALLOWED_ORIGINS

