Platform Overview
Understand the core architecture, runtime components, and design philosophy behind JChat.
Introduction
JChat is a high-performance, real-time enterprise communication suite built for complete data ownership and modern web standards. Unlike legacy chat scripts, JChat combines an ElysiaJS backend running on Bun with a React Router 7 SSR frontend, backed by PostgreSQL 18 and Redis.
Core Technology Stack
JChat is engineered on modern, low-overhead runtimes designed to handle thousands of concurrent real-time connections with sub-millisecond overhead:
Bun 1.4+ Runtime
Ultra-fast JavaScript/TypeScript runtime, native package manager, and test runner powering backend services.
ElysiaJS Web Framework
High-performance, type-safe web framework providing sub-millisecond HTTP routing and native WebSocket scaling.
React Router 7 SSR
Server-side rendered streaming HTML, instant client hydration, optimized public channels, and zero hydration waterfall.
PostgreSQL 18+ Database
Enterprise relational persistence with automated schema migrations, robust relational constraints, and high durability.
Redis 7+ Real-Time Bus
High-speed in-memory datastore and distributed WebSocket pub/sub message broadcast engine across workers.
Pluggable Storage Pipeline
Unified multi-driver engine supporting Local disk, Cloudflare R2, AWS S3, MinIO, and GCS with automated WebP transcoding.
Platform Highlights
JChat is engineered from the ground up for performance, data sovereignty, and effortless extensibility:
- High-Performance Concurrency: Built on Bun and Elysia to handle thousands of concurrent WebSocket connections with low memory usage and sub-millisecond message delivery.
- Complete Data Sovereignty: 100% self-hosted with no mandatory external cloud lock-in, unwanted telemetry, or per-message phone-home latency.
- Modular Addon Ecosystem: Extend chat functionality with rich widgets, bots, and interactive integrations using official SDK contracts without modifying core code.
- Multi-Tenant Scale: Host multiple isolated communities on a single server deployment with unified administration and independent branding.
Distribution Tracks
To safeguard software integrity and provide streamlined deployments, JChat is distributed through two official production tracks:
- Official Docker Images (
ghcr.io/jchatcloud/jchat:latest): The gold standard for modern self-hosting. Customers download their personalizeddocker-compose.ymldirectly from their Store Key Vault with their license key pre-configured. - Pre-Compiled Standalone Bundles (
jchat-standalone-vX.Y.Z.zip): Downloaded directly from the Store Key Vault under Purchases > Standalone (.zip). Contains pre-compiled, minified client/server assets, migrations, entrypoints, and.env.example—ready to run withbun run startwith zero compilation steps.
Production Package Structure
Configuration files, runtime directories, and assets included in customer deployment distributions:
build/ # Pre-compiled application server & SSR client assets
data/ # Persistent application state, local uploads & configurations
addons/ # Sandboxed addon extensions directory
scripts/
└── update-geoip.ts # Geolocation country database updater
.env.example # Environment configuration template for standalone/bare-metal
Caddyfile # Automatic HTTPS reverse proxy configuration
docker-compose.yml # Production Docker stack (JChat, PostgreSQL 18, Redis, Caddy)
entrypoint.sh # Container startup lifecycle and automated database migrations
package.json # Workspace commands (start, db:migrate, etc.)
README.md # Deployment instructions & command reference
INSTALL.txt # Fast offline setup instructions
LICENSE # Commercial software license terms
vendor-licenses.txt # Third-party dependency attribution & licensingOfficial NPM Packages & SDK Distribution
To empower addon developers and ensure effortless extension development, certified SDK contracts and generator tooling are distributed directly via public npm registry packages: