Browse Source

feat: qdrant support in docker compose (#1286)

tags/0.3.25
takatost 2 years ago
parent
commit
fda937175d
No account linked to committer's email address
4 changed files with 55 additions and 9 deletions
  1. 1
    0
      .gitignore
  2. 3
    3
      api/.env.example
  3. 15
    1
      docker/docker-compose.middleware.yaml
  4. 36
    5
      docker/docker-compose.yaml

+ 1
- 0
.gitignore View File

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

+ 3
- 3
api/.env.example View File

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_URL=path:storage/qdrant
QDRANT_API_KEY=your-qdrant-api-key
# Qdrant configuration, use `http://localhost:6333` for local mode or `https://your-qdrant-cluster-url.qdrant.io` for remote mode
QDRANT_URL=http://localhost:6333
QDRANT_API_KEY=difyai123456


# Mail configuration, support: resend # Mail configuration, support: resend
MAIL_TYPE= MAIL_TYPE=

+ 15
- 1
docker/docker-compose.middleware.yaml View File

AUTHORIZATION_ADMINLIST_ENABLED: 'true' AUTHORIZATION_ADMINLIST_ENABLED: 'true'
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"

+ 36
- 5
docker/docker-compose.yaml View File

# 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
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.
# 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
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
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:
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:
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.

Loading…
Cancel
Save