Deploy Soketi | (Just Updated) Pusher-Compatible WebSockets, Port Fixed for Railway

Self-hosted Pusher-compatible WebSocket server, port wired for Railway

Deploy Soketi | (Just Updated) Pusher-Compatible WebSockets, Port Fixed for Railway

Deploy and Host Soketi on Railway

Soketi is an open-source, Pusher-compatible WebSockets server. It lets Laravel Echo, pusher-js and any Pusher SDK talk to your own server instead of a paid hosted service, with channels, presence, client events and a REST API for publishing from your backend.

This template runs Soketi 1.6.1 as a single service from a digest-pinned official image, with an app ID, key and secret generated for you on every deploy.

About Hosting Soketi

Soketi needs a little care to work behind Railway's edge:

  • The listening port follows Railway. Soketi ignores the PORT variable Railway injects and listens on 6001, so the public domain and the healthcheck would miss it. The start command sets SOKETI_PORT from $PORT, so the domain and the /ready healthcheck reach the server.
  • Credentials are generated. SOKETI_DEFAULT_APP_ID, SOKETI_DEFAULT_APP_KEY and SOKETI_DEFAULT_APP_SECRET are random per deploy, so the well-known app-id / app-key defaults are never live on a public URL.
  • Stateless by design. Soketi keeps connection state in memory, so there is no volume to manage.

Common Use Cases

  • Real-time updates for Laravel apps through Laravel Echo and broadcasting
  • Live notifications, chat and presence in web and mobile apps using pusher-js
  • A self-hosted drop-in replacement for Pusher Channels
  • Dashboards that push events from a backend through the REST API

Dependencies for Soketi Hosting

  • None. Soketi runs as one service with no database.

Deployment Dependencies

Implementation Details

VariablePurpose
SOKETI_DEFAULT_APP_IDApp ID your backend uses with the Pusher SDK, generated per deploy.
SOKETI_DEFAULT_APP_KEYPublic app key for browser clients, generated per deploy.
SOKETI_DEFAULT_APP_SECRETSecret for signing and the REST API, generated per deploy. Keep it server-side.

Point a Pusher client at your domain with wsHost set to the Railway domain, wssPort 443 and forceTLS true.

Why Deploy Soketi 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 Soketi 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
49
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