OnRabble Server
A lightweight, real-time chat server written in Go. It is fully containerized, secure, and designed to be self-hosted.

What It Powers 
OnRabble Server serves as the core backend for the OnRabble platform. It handles OAuth2 authentication through Keycloak, establishes WebSocket-based communication for real-time delivery, processes public and private messages, and persists all data in a PostgreSQL database. To reduce latency and lighten the database load, it uses Valkey to cache recent messages for fast retrieval.
This backend currently supports two clients: a native Qt desktop client and an integrated admin dashboard.
Admin Panel 
The OnRabble Server includes a built-in admin dashboard designed to give you complete control over your running instance. From this interface, you can view and delete messages, create or remove channels, and ban or disconnect users as needed. It also provides server-side analytics like message volume and session trends.
Technologies Used 
- Go – server logic and concurrency
- WebSockets – real-time message transport
- PostgreSQL – persistent storage
- Valkey – in-memory caching
- Keycloak – OAuth2 user authentication
- Docker Compose – container orchestration
Design Philosophy 
OnRabble Server is built for developers and privacy-first teams who want complete control of their messaging stack. It’s lean, modular, and extensible — ideal for secure, offline, or self-hosted deployments where trust and ownership matter.
See the Code
The full source code, environment setup, and contribution guide are available on GitHub: