# 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: ghcr.io/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 - RAG_PORT=${RAG_PORT:-8000} - RAG_API_URL=http://rag_api:${RAG_PORT:-8000} volumes: - type: bind source: ./.env target: /app/.env - ./images:/app/client/public/images - ./uploads:/app/uploads - ./logs:/app/api/logs mongodb: container_name: chat-mongodb image: mongo restart: always user: "${UID}:${GID}" volumes: - ./data-node:/data/db command: mongod --noauth meilisearch: container_name: chat-meilisearch image: getmeili/meilisearch:v1.12.3 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.12:/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: ghcr.io/danny-avila/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: