Switchboard
Centrifugo gateway and message recorder
A unified gateway fronting Centrifugo with REST publish/subscribe, message recording, and operational dashboards.
- Docker container
- Kubernetes Helm chart
- 10 database engines
- 2 queue backends
- 7 notification drivers
- 1 cache engine
- 4 languages (EN, FR, ES, PT)
- REST API + OpenAPI 3.0.3
- Realtime WebSocket channels
- Atlas schema migrations
Switchboard provides a single entry point to Centrifugo — REST API for publish, subscribe, history, presence, and generic commands. All protected by shared secret. Asynchronous message recording persists traffic to SQL/NoSQL backends. Dashboards and event logs for real-time visibility. Perfect for teams building chat, notifications, and real-time features atop Centrifugo.
Key features
Proxy pass-through for Centrifugo HTTP and WebSocket routes
Shared-secret REST: publish, subscribe, unsubscribe, disconnect, history, presence, command
Asynchronous message recording to Postgres, MySQL, SQLite, SQL Server, Mongo, or Redis
Scope routing: all channels, specific channels, groups, namespaces
Real-time runtime dashboards and event logs
WebSocket auth and channel management
Svelte 5 / Tailwind 4 dark UI with instant language switch
Where it goes beyond the obvious
Unified gateway for Centrifugo with a built-in REST API bridge
Asynchronous recording with flexible routing scopes
Tech highlights
- Centrifugo proxy with REST bridge
- Recording: Postgres, MySQL, SQLite, SQL Server, Mongo, Redis
- Queue transport: Redis or in-memory fallback
Built on
REST API surface
- GET /v1/runtime Metrics over API key auth
- GET /v1/channels Active channels with subscriber counts
- POST /v1/channels/:channel/publish Publish to one channel
- POST /v1/channels/publish-all Broadcast
- GET /v1/channels/:channel/history Retrieve history
- GET /v1/channels/:channel/presence Users present
- PUT /v1/settings/recording Update recording scope
- POST /v1/commands/:command Generic Centrifugo command
Full spec at GET /openapi — Swagger UI at /swagger/
Backends you can actually pick from.
This service speaks the backends below natively. Swap with a single environment variable.
Databases
- PostgreSQL
- MySQL
- SQLite
- SQL Server
- Oracle
- MongoDB
- Redis
- Valkey
- DynamoDB
- Cassandra
Queues
- Redis
- In-memory fallback
Cache
- Redis
Notifications
- Slack
- Discord
- Teams
- FCM
- APNs
- SNS
- WebPush
Use cases
Chat platforms recording messages for audit and compliance
Notification services managing multi-channel subscriptions
Real-time collaboration archiving activity logs
Gaming platforms broadcasting player events
IoT dashboards managing live sensor subscriptions
Switchboard vs Pusher, Ably, PubNub
Realtime messaging without Pusher or PubNub invoices
Architecture patterns featuring this service
More in messaging
Deploy Switchboard. Today.
One Docker image. One compose stack. One afternoon to production. Switchboard is waiting.