server icon indicating copy to clipboard operation
server copied to clipboard

Adds Redis pub/sub for multi-pod WebSocket support

Open MalukiMuthusi opened this issue 6 months ago • 4 comments

Implements a message broker system with Redis backend to enable WebSocket notifications across multiple Gotify server instances. Introduces a broker interface with Redis and no-op implementations, allowing deployments to scale horizontally while maintaining real-time message delivery.

Falls back gracefully to local-only mode when Redis is disabled or unavailable. Includes configuration options for Redis connection and channel prefix customization.

MalukiMuthusi avatar Aug 17 '25 17:08 MalukiMuthusi

Hi, is this a performance PR or some specific infrastructure that requires this horizontal/message bus setup?

If it's performance it would be nice if you have benchmark or load testing numbers (concurrent connections, etc).

If it's a specific infrastructure (maybe k8s?) you are targeting please open an concurrent issue/PR at gotify/website for how to configure the system to take advantage of this feature. (Example configurations, security considerations, etc)

eternal-flame-AD avatar Aug 17 '25 18:08 eternal-flame-AD

It is targeting an infrastructure like k8s.

MalukiMuthusi avatar Aug 17 '25 18:08 MalukiMuthusi

Okay thanks for the clarification, can you open PR for a sample k8s configuration with this feature on gotify/website, thanks.

eternal-flame-AD avatar Aug 17 '25 18:08 eternal-flame-AD

Thank you, I will open it.

MalukiMuthusi avatar Aug 17 '25 19:08 MalukiMuthusi