LibreChat
Chat interface that connects to many AI providers, with agents and conversation history.
- Replaces
-
Paid AI chat assistant services, such as ChatGPT.
All open-source alternatives to ChatGPT
- Difficulty
-
Difficulty: Hard
6 services (3 database or broker: mongo, meilisearch, pgvector), 9 volume mounts, 6 env values to set, no elevated host access. Heuristic score 9 of 11: hard.
- Stack
TypeScript (language), MongoDB (database)
- Deployment
docker_compose
- Requirements
Not stated.
- License
-
MIT(OSI-approved open source)Read from github.com/LibreChat-AI/LibreChat/blob/eac18f4/LICENSE
- Business model
-
Unknown
The README at the pinned commit does not state a business model, so it stays unknown.
Source: github.com/LibreChat-AI/LibreChat/blob/eac18f4/README.md, read on .
- Repository
GitHub stats
- Stars
- 46,140
- Forks
- 9,482
- Open issues and pull requests
- 989
- Last push
- 2026-10-22
From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as MIT.
Compose file
# Do not edit this file directly. Use a ‘docker-compose.override.yaml’ file if you can.
# Refer to `docker-compose.override.yaml.example’ for some sample configurations.
services:
api:
container_name: LibreChat
ports:
- "${PORT}:${PORT}"
depends_on:
- mongodb
- rag_api
image: registry.librechat.ai/librechat-ai/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
admin-panel:
container_name: admin-panel
image: registry.librechat.ai/librechat-ai/librechat-admin-panel:latest
ports:
- "${ADMIN_PANEL_PORT:-3000}:3000"
depends_on:
- api
restart: always
environment:
- PORT=3000
# Plain expansion (not :?) so `docker compose down`/`pull` still run when this is unset.
# The panel itself refuses to start without it; set ADMIN_PANEL_SESSION_SECRET in .env.
- SESSION_SECRET=${ADMIN_PANEL_SESSION_SECRET}
- API_SERVER_URL=http://api:${PORT:-3080}
- VITE_API_BASE_URL=${DOMAIN_CLIENT:-http://localhost:3080}
- SESSION_COOKIE_SECURE=${ADMIN_PANEL_SESSION_COOKIE_SECURE:-false}
mongodb:
container_name: chat-mongodb
image: mongo:8.0.20
restart: always
user: "${UID}:${GID}"
volumes:
- ./data-node:/data/db
command: mongod --noauth
meilisearch:
container_name: chat-meilisearch
image: getmeili/meilisearch:v1.35.1
restart: always
user: "${UID}:${GID}"
environment:
- MEILI_HOST=http://meilisearch:7700
- MEILI_NO_ANALYTICS=true
- MEILI_MASTER_KEY=${MEILI_MASTER_KEY}
volumes:
- ./meili_data_v1.35.1:/meili_data
vectordb:
container_name: vectordb
image: pgvector/pgvector:0.8.0-pg15-trixie
environment:
POSTGRES_DB: mydatabase
POSTGRES_USER: myuser
POSTGRES_PASSWORD: mypassword
restart: always
volumes:
- pgdata2:/var/lib/postgresql/data
rag_api:
container_name: rag_api
image: registry.librechat.ai/librechat-ai/librechat-rag-api-dev-lite:latest
environment:
- DB_HOST=vectordb
- RAG_PORT=${RAG_PORT:-8000}
restart: always
depends_on:
- vectordb
env_file:
- .env
volumes:
pgdata2:
librechat-data:
From the app's own repository: github.com/LibreChat-AI/LibreChat/blob/eac18f4/docker-compose.yml.
Compose file from the app repository.
Install
- Docker with the Compose plugin (github.com/LibreChat-AI/docs/blob/48f78d1/content/docs/local/docker.mdx)
A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
- Save the compose file as docker-compose.yml (github.com/LibreChat-AI/LibreChat/blob/eac18f4/docker-compose.yml)
Use the compose file shown above.
- Download .env next to the compose file (github.com/LibreChat-AI/LibreChat/blob/eac18f4/.env.example)
curl -fsSL https://raw.githubusercontent.com/LibreChat-AI/LibreChat/eac18f465667f5b8b463f2a9dfa2af1271e40a1b/.env.example -o .env - What the compose file check ran with (github.com/LibreChat-AI/docs/blob/48f78d1/content/docs/local/docker.mdx)
The compose file check ran together with .env.example from the same commit, saved as .env. The folder held only these files. The local Docker guide tells the reader to copy .env.example to .env and run docker compose up -d in the cloned repository.
- Start it (github.com/LibreChat-AI/docs/blob/48f78d1/content/docs/local/docker.mdx)
docker compose up -d - Open the app (github.com/LibreChat-AI/LibreChat/blob/eac18f4/docker-compose.yml)
Open http://localhost:3080. The compose file publishes host port 3080 for the api service. The docs say to open this address and register the first account.
Compose file check: config_ok on 2026-10-22.
Gotchas and maintenance
Gotchas
- Some images use the latest tag or no tag. Images without a pinned version: api: registry.librechat.ai/librechat-ai/librechat-dev:latest, admin-panel: registry.librechat.ai/librechat-ai/librechat-admin-panel:latest, rag_api: registry.librechat.ai/librechat-ai/librechat-rag-api-dev-lite:latest. A later pull can get a different version. (github.com/LibreChat-AI/LibreChat/blob/eac18f4/docker-compose.yml, checked 2026-10-22)
- The compose file publishes host ports. Host ports: 3000 (admin-panel). A port without a host address listens on all host network interfaces. (github.com/LibreChat-AI/LibreChat/blob/eac18f4/docker-compose.yml, checked 2026-10-22)
- The compose file mounts host folders. Host paths mounted into containers: ./.env at /app/.env (api), ./images at /app/client/public/images (api), ./uploads at /app/uploads (api), ./logs at /app/logs (api), ./skill at /app/skill (api), ./data-node at /data/db (mongodb), ./meili_data_v1.35.1 at /meili_data (meilisearch). (github.com/LibreChat-AI/LibreChat/blob/eac18f4/docker-compose.yml, checked 2026-10-22)
Signals
- Open issues and pull requests: 989
- Last push: 2026-10-22 (0 days before this page was built)
- Latest release: none recorded