services: api: # build: # context: . # dockerfile: Dockerfile.multi # target: api-build image: ghcr.io/danny-avila/librechat:v0.7.8 container_name: {{ customer }}-librechat labels: - "diun.enable=true" ports: - 3080:3080 depends_on: - mongodb - rag_api restart: always user: "${UID}:${GID}" extra_hosts: - "host.docker.internal:host-gateway" env_file: - /opt/letsbe/env/librechat.env 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} - EMAIL_HOST=mail.{{ domain }} - EMAIL_PORT=587 - EMAIL_ENCRYPTION=starttls - EMAIL_USERNAME=noreply@{{ domain }} - EMAIL_PASSWORD=Q2WjzJ05525I0cmyxAYn57wKhRSumMHXnHN8 - EMAIL_FROM_NAME={{customer}}AI - EMAIL_FROM=noreply@{{ domain }} volumes: - type: bind source: ./librechat.yaml target: /app/librechat.yaml - ./images:/app/client/public/images - ./uploads:/app/uploads - ./logs:/app/api/logs mongodb: container_name: librechat-mongodb # ports: # Uncomment this to access mongodb from outside docker, not safe in deployment # - 27018:27017 image: mongo restart: always user: "${UID}:${GID}" volumes: - ./data-node:/data/db command: mongod --noauth meilisearch: container_name: librechat-meilisearch image: getmeili/meilisearch:v1.12.3 restart: always user: "${UID}:${GID}" # 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: - /opt/letsbe/env/librechat.env environment: - MEILI_HOST=http://meilisearch:7700 - MEILI_NO_ANALYTICS=true volumes: - ./meili_data_v1.12:/meili_data vectordb: image: ankane/pgvector:latest environment: POSTGRES_DB: librechat POSTGRES_USER: {{ librechat_postgres_user }} POSTGRES_PASSWORD: {{ librechat_postgres_password }} restart: always volumes: - pgdata2:/var/lib/postgresql/data rag_api: image: ghcr.io/danny-avila/librechat-rag-api-dev-lite:latest environment: - DB_HOST=vectordb - RAG_PORT=8000 restart: always depends_on: - vectordb env_file: - /opt/letsbe/env/librechat.env ports: - "8000:8000" networks: # Declare the same network name as in the ActivePieces file, but mark as external {{ customer }}-activepieces: external: true volumes: pgdata2: