feat: qdrant support in docker compose (#1286)

This commit is contained in:
takatost 2023-10-08 12:04:04 -05:00 committed by GitHub
parent 024250803a
commit fda937175d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 55 additions and 9 deletions

1
.gitignore vendored
View File

@ -144,6 +144,7 @@ docker/volumes/app/storage/*
docker/volumes/db/data/* docker/volumes/db/data/*
docker/volumes/redis/data/* docker/volumes/redis/data/*
docker/volumes/weaviate/* docker/volumes/weaviate/*
docker/volumes/qdrant/*
sdks/python-client/build sdks/python-client/build
sdks/python-client/dist sdks/python-client/dist

View File

@ -59,9 +59,9 @@ WEAVIATE_API_KEY=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_GRPC_ENABLED=false WEAVIATE_GRPC_ENABLED=false
WEAVIATE_BATCH_SIZE=100 WEAVIATE_BATCH_SIZE=100
# Qdrant configuration, use `path:` prefix for local mode or `https://your-qdrant-cluster-url.qdrant.io` for remote mode # Qdrant configuration, use `http://localhost:6333` for local mode or `https://your-qdrant-cluster-url.qdrant.io` for remote mode
QDRANT_URL=path:storage/qdrant QDRANT_URL=http://localhost:6333
QDRANT_API_KEY=your-qdrant-api-key QDRANT_API_KEY=difyai123456
# Mail configuration, support: resend # Mail configuration, support: resend
MAIL_TYPE= MAIL_TYPE=

View File

@ -50,3 +50,17 @@ services:
AUTHORIZATION_ADMINLIST_USERS: 'hello@dify.ai' AUTHORIZATION_ADMINLIST_USERS: 'hello@dify.ai'
ports: ports:
- "8080:8080" - "8080:8080"
# Qdrant vector store.
# uncomment to use qdrant as vector store.
# (if uncommented, you need to comment out the weaviate service above,
# and set VECTOR_STORE to qdrant in the api & worker service.)
# qdrant:
# image: qdrant/qdrant:latest
# restart: always
# volumes:
# - ./volumes/qdrant:/qdrant/storage
# environment:
# QDRANT__API_KEY: 'difyai123456'
# ports:
# - "6333:6333"

View File

@ -85,9 +85,9 @@ services:
# The Weaviate API key. # The Weaviate API key.
WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
# The Qdrant endpoint URL. Only available when VECTOR_STORE is `qdrant`. # The Qdrant endpoint URL. Only available when VECTOR_STORE is `qdrant`.
QDRANT_URL: 'https://your-qdrant-cluster-url.qdrant.tech/' QDRANT_URL: http://qdrant:6333
# The Qdrant API key. # The Qdrant API key.
QDRANT_API_KEY: 'ak-difyai' QDRANT_API_KEY: difyai123456
# Mail configuration, support: resend # Mail configuration, support: resend
MAIL_TYPE: '' MAIL_TYPE: ''
# default send from email address, if not specified # default send from email address, if not specified
@ -103,10 +103,12 @@ services:
depends_on: depends_on:
- db - db
- redis - redis
- weaviate
volumes: volumes:
# Mount the storage directory to the container, for storing user files. # Mount the storage directory to the container, for storing user files.
- ./volumes/app/storage:/app/api/storage - ./volumes/app/storage:/app/api/storage
# uncomment to expose dify-api port to host
# ports:
# - "5001:5001"
# worker service # worker service
# The Celery worker for processing the queue. # The Celery worker for processing the queue.
@ -143,10 +145,16 @@ services:
# The type of storage to use for storing user files. Supported values are `local` and `s3`, Default: `local` # The type of storage to use for storing user files. Supported values are `local` and `s3`, Default: `local`
STORAGE_TYPE: local STORAGE_TYPE: local
STORAGE_LOCAL_PATH: storage STORAGE_LOCAL_PATH: storage
# The Vector store configurations. # The type of vector store to use. Supported values are `weaviate`, `qdrant`.
VECTOR_STORE: weaviate VECTOR_STORE: weaviate
# The Weaviate endpoint URL. Only available when VECTOR_STORE is `weaviate`.
WEAVIATE_ENDPOINT: http://weaviate:8080 WEAVIATE_ENDPOINT: http://weaviate:8080
# The Weaviate API key.
WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
# The Qdrant endpoint URL. Only available when VECTOR_STORE is `qdrant`.
QDRANT_URL: http://qdrant:6333
# The Qdrant API key.
QDRANT_API_KEY: difyai123456
# Mail configuration, support: resend # Mail configuration, support: resend
MAIL_TYPE: '' MAIL_TYPE: ''
# default send from email address, if not specified # default send from email address, if not specified
@ -156,7 +164,6 @@ services:
depends_on: depends_on:
- db - db
- redis - redis
- weaviate
volumes: volumes:
# Mount the storage directory to the container, for storing user files. # Mount the storage directory to the container, for storing user files.
- ./volumes/app/storage:/app/api/storage - ./volumes/app/storage:/app/api/storage
@ -177,6 +184,9 @@ services:
APP_API_URL: '' APP_API_URL: ''
# The DSN for Sentry error reporting. If not set, Sentry error reporting will be disabled. # The DSN for Sentry error reporting. If not set, Sentry error reporting will be disabled.
SENTRY_DSN: '' SENTRY_DSN: ''
# uncomment to expose dify-web port to host
# ports:
# - "3000:3000"
# The postgres database. # The postgres database.
db: db:
@ -211,6 +221,9 @@ services:
command: redis-server --requirepass difyai123456 command: redis-server --requirepass difyai123456
healthcheck: healthcheck:
test: ["CMD", "redis-cli","ping"] test: ["CMD", "redis-cli","ping"]
# uncomment to expose redis port to host
# ports:
# - "6379:6379"
# The Weaviate vector store. # The Weaviate vector store.
weaviate: weaviate:
@ -232,6 +245,24 @@ services:
AUTHENTICATION_APIKEY_USERS: 'hello@dify.ai' AUTHENTICATION_APIKEY_USERS: 'hello@dify.ai'
AUTHORIZATION_ADMINLIST_ENABLED: 'true' AUTHORIZATION_ADMINLIST_ENABLED: 'true'
AUTHORIZATION_ADMINLIST_USERS: 'hello@dify.ai' AUTHORIZATION_ADMINLIST_USERS: 'hello@dify.ai'
# uncomment to expose weaviate port to host
# ports:
# - "8080:8080"
# Qdrant vector store.
# uncomment to use qdrant as vector store.
# (if uncommented, you need to comment out the weaviate service above,
# and set VECTOR_STORE to qdrant in the api & worker service.)
# qdrant:
# image: qdrant/qdrant:latest
# restart: always
# volumes:
# - ./volumes/qdrant:/qdrant/storage
# environment:
# QDRANT__API_KEY: 'difyai123456'
## uncomment to expose qdrant port to host
## ports:
## - "6333:6333"
# The nginx reverse proxy. # The nginx reverse proxy.
# used for reverse proxying the API service and Web service. # used for reverse proxying the API service and Web service.