LLM Gateway

A lightweight self-hosted multi-model chat platform where API keys stay on the server, responses stream token by token, and access can be managed per user.

LLM Gateway is a self-hosted chat platform for working with multiple language model providers from one private interface. It keeps provider API keys on the server instead of exposing them to the browser, streams responses through Server-Sent Events, and persists conversations in SQLite.

The project is intentionally operational: a single Node.js backend, plain HTML/CSS/JavaScript frontend, Docker support, health checks, rate limiting, and backup scripts. It includes an admin area for users, password resets, API key rotation, and per-user model restrictions.

Highlights

  • Multi-provider model routing for NVIDIA NIM and OpenRouter
  • Token-by-token streaming with markdown rendering and code highlighting
  • JWT authentication with bcrypt-hashed passwords
  • Admin panel for users, provider keys, and model access
  • SQLite persistence with nightly backup tooling
  • Docker deployment path with health checks and reverse-proxy guidance

Stack

Node.js, Express, SQLite, JWT, bcrypt, Server-Sent Events, Docker, vanilla HTML/CSS/JavaScript.