94 lines
2.5 KiB
YAML
94 lines
2.5 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
librechat:
|
|
image: librechat/librechat-dev-api:f8774983a0c5fd33ac11562a93ad26f97b862901
|
|
container_name: librechat
|
|
hostname: librechat
|
|
restart: always
|
|
depends_on:
|
|
- mongodb
|
|
- rag_api
|
|
ports:
|
|
- "3080:3080"
|
|
extra_hosts:
|
|
- "host.docker.internal:host-gateway"
|
|
env_file:
|
|
- .env
|
|
volumes:
|
|
- /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime:ro
|
|
- ./hosts:/etc/hosts:ro
|
|
- type: bind
|
|
source: ./config/librechat.yaml
|
|
target: /app/librechat.yaml
|
|
- ./data/images:/app/client/public/images
|
|
- ./data/uploads:/app/uploads
|
|
- ./data/logs:/app/api/logs
|
|
environment:
|
|
- HOST=0.0.0.0
|
|
- NODE_ENV=production
|
|
- MONGO_URI=mongodb://mongodb:27017/librechat
|
|
- MEILI_HOST=http://meilisearch:7700
|
|
- RAG_PORT=${RAG_PORT:-8000}
|
|
- RAG_API_URL=http://rag_api:${RAG_PORT:-8000}
|
|
vectordb:
|
|
container_name: librechat-vectordb
|
|
image: pgvector/pgvector:0.8.1-pg18-trixie
|
|
environment:
|
|
- POSTGRES_DB=librechat
|
|
- POSTGRES_USER=librechat
|
|
- POSTGRES_PASSWORD=123456
|
|
restart: always
|
|
volumes:
|
|
- pgdata2:/var/lib/postgresql
|
|
mongodb:
|
|
container_name: librechat-mongodb
|
|
# ports: # Uncomment this to access mongodb from outside docker, not safe in deployment
|
|
# - 27018:27017
|
|
image: mongo:8.2.3-noble
|
|
restart: always
|
|
volumes:
|
|
- ./data/data-node:/data/db
|
|
command: mongod --noauth
|
|
rag_api:
|
|
container_name: librechat-rag_api
|
|
image: dabbleofdevops/librechat-rag-api-dev-lite:20250528
|
|
environment:
|
|
- DB_HOST=vectordb
|
|
- DB_PORT=5432
|
|
- POSTGRES_DB=librechat
|
|
- POSTGRES_USER=librechat
|
|
- POSTGRES_PASSWORD=123456 - RAG_PORT=${RAG_PORT:-8000}
|
|
restart: always
|
|
depends_on:
|
|
- vectordb
|
|
env_file:
|
|
- .env
|
|
meilisearch:
|
|
container_name: librechat-meilisearch
|
|
image: getmeili/meilisearch:v1.32.0
|
|
restart: always
|
|
# ports: # Uncomment this to access meilisearch from outside docker
|
|
# - 7700:7700 # if exposing these ports, make sure your master key is not the default value
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- MEILI_HOST=http://meilisearch:7700
|
|
- MEILI_NO_ANALYTICS=true
|
|
volumes:
|
|
- ./data/meili_data:/meili_data
|
|
client:
|
|
container_name: librechat-nginx
|
|
image: nginx:1.29.4-alpine3.23
|
|
ports:
|
|
- 30000:80
|
|
- 30001:443
|
|
depends_on:
|
|
- librechat
|
|
restart: always
|
|
volumes:
|
|
- ./config/nginx.conf:/etc/nginx/conf.d/default.conf
|
|
|
|
volumes:
|
|
pgdata2:
|