LibreChat¶
LibreChat is a free, open-source, and self-hosted AI chat platform that provides a unified, privacy-focused interface to interact with multiple artificial intelligence providers and large language models (LLMs).
Install LibreChat¶
- Follow the LibreChat installation guide.
- Install LibreChat using either the Docker or npm method.
- Start the LibreChat service.
- Access LibreChat on port
3080.
- Follow the LibreChat installation guide to set up the self-hosted LibreChat requirements, including the
.envfile. -
Add the following
ls-netexternal network to the LibreChat project’sdocker-compose.ymlfile:services: api: container_name: LibreChat ports: - "${PORT}:${PORT}" depends_on: - mongodb - rag_api image: registry.librechat.ai/danny-avila/librechat-dev:latest restart: always user: "${UID}:${GID}" extra_hosts: - "host.docker.internal:host-gateway" environment: - HOST=0.0.0.0 - MONGO_URI=mongodb://mongodb:27017/LibreChat - MEILI_HOST=http://meilisearch:7700 - LIBRECHAT_TEMP_CREDENTIALS_PATH=/app/data/.env.temp - RAG_PORT=${RAG_PORT:-8000} - RAG_API_URL=http://rag_api:${RAG_PORT:-8000} - PROXY=${PROXY:-} - HTTP_PROXY=${HTTP_PROXY:-} - HTTPS_PROXY=${HTTPS_PROXY:-} - NO_PROXY=${NO_PROXY:-localhost,127.0.0.1,::1},${no_proxy:-},mongodb,chat-mongodb,meilisearch,chat-meilisearch,rag_api, vectordb,host.docker.internal - http_proxy=${http_proxy:-} - https_proxy=${https_proxy:-} - no_proxy=${no_proxy:-localhost,127.0.0.1,::1},${NO_PROXY:-},mongodb,chat-mongodb,meilisearch,chat-meilisearch,rag_api,vectordb,host.docker.internal volumes: - type: bind source: ./.env target: /app/.env - ./images:/app/client/public/images - ./uploads:/app/uploads - ./logs:/app/logs - ./skill:/app/skill - librechat-data:/app/data ... SKIP ... networks: default: name: ls-net external: true
Set up OpenLiteSpeed proxy with AutoSSL¶
The easiest way to install OpenLiteSpeed, configure it as a reverse proxy, and enable AutoSSL is to use the ols1clk script.
Before continuing, ensure that your domain points to the server.
Replace www.example.com with your domain name, and run the following command:
bash <(curl -fsSL https://raw.githubusercontent.com/litespeedtech/ols1clk/master/ols1clk.sh) --proxy-c --proxy-port 3080 --autocert --sitedomain www.example.com
This command automatically:
- Installs OpenLiteSpeed.
- Configures the Example virtual host as a reverse proxy.
- Applies your domain to the listener virtual host mapping.
- Requests and installs SSL certificates using ACME.
-
Download the ols-proxy-docker-env repository:
git clone https://github.com/litespeedtech/ols-proxy-docker-env cd ols-proxy-docker-env -
Copy the example environment file:
cp .env.example .env -
Edit
.envwith your configuration values:OLS_IMAGE=litespeedtech/openlitespeed:latest BACKEND_IP=LibreChat BACKEND_PORT=3080 DOMAIN=www.example.com PROXY_METHOD=context PROXY_SOCKET=false ACME_EMAIL=admin@example.com -
Start the proxy:
docker compose up -d
Verify the proxy configuration¶
Open https://www.example.com in a browser. The application interface should load through OpenLiteSpeed over HTTPS.
Warning
After verifying the configuration, restrict public access to port 3080 with your firewall.
Optional settings¶
You can further enhance your site's security by enabling features such as:
- OWASP protection
- reCAPTCHA
- Per-client throttling
- Realm protection
- IP Allow/Deny
See the OpenLiteSpeed Security Guide for more information.