Deploy Sockudo

Sockudo 5.0: Pusher-compatible WebSocket server for real-time apps.

Deploy 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

ServiceSourceNetworkingStorage
sockudosockudo/sockudo:5.0.1public HTTPS/WSSnone
VariablePurpose
SOCKUDO_DEFAULT_APP_ID, _KEY, _SECRETGenerated app credentials (the secret stays on your server)
SOCKUDO_DEFAULT_APP_ALLOWED_ORIGINSComma-separated origins allowed to connect; empty allows all
SOCKUDO_ENABLE_CLIENT_MESSAGESfalse; set true to allow client events
PUSHER_HOST, PUSHER_PORT, PUSHER_SCHEMEValues 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

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
47
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51