jChat LogojChat Docs
Getting Started

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:

  1. Official Docker Images (ghcr.io/jchatcloud/jchat:latest): The gold standard for modern self-hosting. Customers download their personalized docker-compose.yml directly from their Store Key Vault with their license key pre-configured.
  2. 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 with bun run start with 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 & licensing

Official 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:

On this page