97 lines
2.7 KiB
YAML
97 lines
2.7 KiB
YAML
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:
|