OnRabble Server

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

Admin dashboard preview

What It Powers Engine icon

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 Browser icon

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 Flask icon

  • 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 Scroll icon

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:

🔗 OnRabbleClient Repository