The Hublot stack: easy to install, reliable to operate
Hublot relies on a modern, reliable architecture built around open, proven technologies. The goal is to enable a fast rollout, even in modest environments, while offering natural scale as needs grow. The components that make up the stack form a coherent set that is easy to understand, maintain, and evolve.
Hublot, the application core
Hublot is the central application of the platform. It handles messaging, calls, files, notes, and the overall user experience. Built in TypeScript, it exposes a GraphQL API used by a PWA web client, which removes the need to install software on workstations: a modern browser is enough.
Installation is intentionally simple. A single instance can cover a demo environment or an internal deployment. For organizations that need higher availability, Hublot can be replicated without special changes and placed behind a reverse proxy or load balancer. The application is stateless, which makes clustering easier.
MongoDB, the database
MongoDB serves as the primary storage system. It keeps structured data: users, messages, collections, metadata, and history. This choice is based on its stability, flexibility, and ability to handle varied volumes without complexity.
For a simple installation, a single MongoDB server is enough. In production, a three-node replica set is recommended to ensure service continuity and simplify backups. MongoDB is widely adopted, which makes hosting, administration, and integration easier.
MinIO or S3, file storage
Files exchanged through Hublot - images, documents, or attachments - are stored in an S3-compatible service. MinIO is often used for on-premises installations thanks to its ease of deployment and standard API.
This approach brings great flexibility. The installation can be limited to a single MinIO service or evolve to a distributed cluster as data volume grows. It is also possible to use an S3 service hosted by a provider without changing Hublot's configuration. This compatibility ensures no vendor lock-in.
LiveKit, real-time audio and video
LiveKit is the component responsible for audio and video communications. It handles voice calls, video conferences, and screen sharing, relying on WebRTC, the modern standard for real-time communications.
LiveKit has the advantage of simplicity: it can run on a minimal configuration for small teams while offering smooth scale-up to a more distributed architecture. It guarantees stable audio and video quality, even when network conditions vary.
A modern, scalable, reassuring architecture
The Hublot stack was designed to offer an optimal balance between simplicity and robustness. Each component can be installed in a minimal way while remaining capable of scaling when needed. The chosen technologies are standardized, well documented, and widely adopted, which ensures long-term viability and easier integration into existing infrastructures.