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: