|  | @@ -6,36 +6,36 @@ x-shared-env: &shared-api-worker-env
 | 
	
		
			
				|  |  |    # Flask debug mode, it can output trace information at the interface when turned on, which is convenient for debugging.
 | 
	
		
			
				|  |  |    FLASK_DEBUG: ${FLASK_DEBUG:-false}
 | 
	
		
			
				|  |  |    # A secretkey that is used for securely signing the session cookie and encrypting sensitive information on the database. You can generate a strong key using `openssl rand -base64 42`.
 | 
	
		
			
				|  |  | -  SECRET_KEY: ${SECRET_KEY}
 | 
	
		
			
				|  |  | +  SECRET_KEY: ${SECRET_KEY:-sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U}
 | 
	
		
			
				|  |  |    # Password for admin user initialization.
 | 
	
		
			
				|  |  |    # If left unset, admin user will not be prompted for a password when creating the initial admin account.
 | 
	
		
			
				|  |  | -  INIT_PASSWORD: ${INIT_PASSWORD}
 | 
	
		
			
				|  |  | +  INIT_PASSWORD: ${INIT_PASSWORD:-}
 | 
	
		
			
				|  |  |    # The base URL of console application web frontend, refers to the Console base URL of WEB service if console domain is
 | 
	
		
			
				|  |  |    # different from api or web app domain.
 | 
	
		
			
				|  |  |    # example: http://cloud.dify.ai
 | 
	
		
			
				|  |  | -  CONSOLE_WEB_URL: ${CONSOLE_WEB_URL}
 | 
	
		
			
				|  |  | +  CONSOLE_WEB_URL: ${CONSOLE_WEB_URL:-}
 | 
	
		
			
				|  |  |    # The base URL of console application api server, refers to the Console base URL of WEB service if console domain is
 | 
	
		
			
				|  |  |    # different from api or web app domain.
 | 
	
		
			
				|  |  |    # example: http://cloud.dify.ai
 | 
	
		
			
				|  |  | -  CONSOLE_API_URL: ${CONSOLE_API_URL}
 | 
	
		
			
				|  |  | +  CONSOLE_API_URL: ${CONSOLE_API_URL:-}
 | 
	
		
			
				|  |  |    # The URL prefix for Service API endpoints, refers to the base URL of the current API service if api domain is
 | 
	
		
			
				|  |  |    # different from console domain.
 | 
	
		
			
				|  |  |    # example: http://api.dify.ai
 | 
	
		
			
				|  |  | -  SERVICE_API_URL: ${SERVICE_API_URL}
 | 
	
		
			
				|  |  | +  SERVICE_API_URL: ${SERVICE_API_URL:-}
 | 
	
		
			
				|  |  |    # The URL prefix for Web APP frontend, refers to the Web App base URL of WEB service if web app domain is different from
 | 
	
		
			
				|  |  |    # console or api domain.
 | 
	
		
			
				|  |  |    # example: http://udify.app
 | 
	
		
			
				|  |  | -  APP_WEB_URL: ${APP_WEB_URL}
 | 
	
		
			
				|  |  | +  APP_WEB_URL: ${APP_WEB_URL:-}
 | 
	
		
			
				|  |  |    # Whether to enable the version check policy. If set to false, https://updates.dify.ai will not be called for version check.
 | 
	
		
			
				|  |  | -  CHECK_UPDATE_URL: ${CHECK_UPDATE_URL}
 | 
	
		
			
				|  |  | +  CHECK_UPDATE_URL: ${CHECK_UPDATE_URL:-true}
 | 
	
		
			
				|  |  |    # Used to change the OpenAI base address, default is https://api.openai.com/v1.
 | 
	
		
			
				|  |  |    # When OpenAI cannot be accessed in China, replace it with a domestic mirror address,
 | 
	
		
			
				|  |  |    # or when a local model provides OpenAI compatible API, it can be replaced.
 | 
	
		
			
				|  |  | -  OPENAI_API_BASE: ${OPENAI_API_BASE}
 | 
	
		
			
				|  |  | +  OPENAI_API_BASE: ${OPENAI_API_BASE:-}
 | 
	
		
			
				|  |  |    # File preview or download Url prefix.
 | 
	
		
			
				|  |  |    # used to display File preview or download Url to the front-end or as Multi-model inputs;
 | 
	
		
			
				|  |  |    # Url is signed and has expiration time.
 | 
	
		
			
				|  |  | -  FILES_URL: ${FILES_URL}
 | 
	
		
			
				|  |  | +  FILES_URL: ${FILES_URL:-}
 | 
	
		
			
				|  |  |    # File Access Time specifies a time interval in seconds for the file to be accessed.
 | 
	
		
			
				|  |  |    # The default value is 300 seconds.
 | 
	
		
			
				|  |  |    FILES_ACCESS_TIMEOUT: ${FILES_ACCESS_TIMEOUT:-300}
 | 
	
	
		
			
				|  | @@ -47,207 +47,207 @@ x-shared-env: &shared-api-worker-env
 | 
	
		
			
				|  |  |    # indicating that this environment is a testing environment.
 | 
	
		
			
				|  |  |    DEPLOY_ENV: ${DEPLOY_ENV:-PRODUCTION}
 | 
	
		
			
				|  |  |    # API service binding address, default: 0.0.0.0, i.e., all addresses can be accessed.
 | 
	
		
			
				|  |  | -  DIFY_BIND_ADDRESS: ${DIFY_BIND_ADDRESS}
 | 
	
		
			
				|  |  | +  DIFY_BIND_ADDRESS: ${DIFY_BIND_ADDRESS:-0.0.0.0}
 | 
	
		
			
				|  |  |    # API service binding port number, default 5001.
 | 
	
		
			
				|  |  | -  DIFY_PORT: ${DIFY_PORT}
 | 
	
		
			
				|  |  | +  DIFY_PORT: ${DIFY_PORT:-5001}
 | 
	
		
			
				|  |  |    # The number of API server workers, i.e., the number of gevent workers.
 | 
	
		
			
				|  |  |    # Formula: number of cpu cores x 2 + 1
 | 
	
		
			
				|  |  |    # Reference: https://docs.gunicorn.org/en/stable/design.html#how-many-workers
 | 
	
		
			
				|  |  | -  SERVER_WORKER_AMOUNT: ${SERVER_WORKER_AMOUNT}
 | 
	
		
			
				|  |  | +  SERVER_WORKER_AMOUNT: ${SERVER_WORKER_AMOUNT:-}
 | 
	
		
			
				|  |  |    # Defaults to gevent. If using windows, it can be switched to sync or solo.
 | 
	
		
			
				|  |  | -  SERVER_WORKER_CLASS: ${SERVER_WORKER_CLASS}
 | 
	
		
			
				|  |  | +  SERVER_WORKER_CLASS: ${SERVER_WORKER_CLASS:-}
 | 
	
		
			
				|  |  |    # Similar to SERVER_WORKER_CLASS. Default is gevent.
 | 
	
		
			
				|  |  |    # If using windows, it can be switched to sync or solo.
 | 
	
		
			
				|  |  | -  CELERY_WORKER_CLASS: ${CELERY_WORKER_CLASS}
 | 
	
		
			
				|  |  | +  CELERY_WORKER_CLASS: ${CELERY_WORKER_CLASS:-}
 | 
	
		
			
				|  |  |    # Request handling timeout. The default is 200,
 | 
	
		
			
				|  |  |    # it is recommended to set it to 360 to support a longer sse connection time.
 | 
	
		
			
				|  |  | -  GUNICORN_TIMEOUT: ${GUNICORN_TIMEOUT}
 | 
	
		
			
				|  |  | +  GUNICORN_TIMEOUT: ${GUNICORN_TIMEOUT:-360}
 | 
	
		
			
				|  |  |    # The number of Celery workers. The default is 1, and can be set as needed.
 | 
	
		
			
				|  |  | -  CELERY_WORKER_AMOUNT: ${CELERY_WORKER_AMOUNT}
 | 
	
		
			
				|  |  | +  CELERY_WORKER_AMOUNT: ${CELERY_WORKER_AMOUNT:-}
 | 
	
		
			
				|  |  |    # The configurations of postgres database connection.
 | 
	
		
			
				|  |  |    # It is consistent with the configuration in the 'db' service below.
 | 
	
		
			
				|  |  | -  DB_USERNAME: ${DB_USERNAME}
 | 
	
		
			
				|  |  | -  DB_PASSWORD: ${DB_PASSWORD}
 | 
	
		
			
				|  |  | -  DB_HOST: ${DB_HOST}
 | 
	
		
			
				|  |  | -  DB_PORT: ${DB_PORT}
 | 
	
		
			
				|  |  | -  DB_DATABASE: ${DB_DATABASE}
 | 
	
		
			
				|  |  | +  DB_USERNAME: ${DB_USERNAME:-postgres}
 | 
	
		
			
				|  |  | +  DB_PASSWORD: ${DB_PASSWORD:-difyai123456}
 | 
	
		
			
				|  |  | +  DB_HOST: ${DB_HOST:-db}
 | 
	
		
			
				|  |  | +  DB_PORT: ${DB_PORT:-5432}
 | 
	
		
			
				|  |  | +  DB_DATABASE: ${DB_DATABASE:-dify}
 | 
	
		
			
				|  |  |    # The size of the database connection pool.
 | 
	
		
			
				|  |  |    # The default is 30 connections, which can be appropriately increased.
 | 
	
		
			
				|  |  | -  SQLALCHEMY_POOL_SIZE: ${SQLALCHEMY_POOL_SIZE}
 | 
	
		
			
				|  |  | +  SQLALCHEMY_POOL_SIZE: ${SQLALCHEMY_POOL_SIZE:-30}
 | 
	
		
			
				|  |  |    # Database connection pool recycling time, the default is 3600 seconds.
 | 
	
		
			
				|  |  | -  SQLALCHEMY_POOL_RECYCLE: ${SQLALCHEMY_POOL_RECYCLE}
 | 
	
		
			
				|  |  | +  SQLALCHEMY_POOL_RECYCLE: ${SQLALCHEMY_POOL_RECYCLE:-3600}
 | 
	
		
			
				|  |  |    # Whether to print SQL, default is false.
 | 
	
		
			
				|  |  | -  SQLALCHEMY_ECHO: ${SQLALCHEMY_ECHO}
 | 
	
		
			
				|  |  | +  SQLALCHEMY_ECHO: ${SQLALCHEMY_ECHO:-false}
 | 
	
		
			
				|  |  |    # The configurations of redis connection.
 | 
	
		
			
				|  |  |    # It is consistent with the configuration in the 'redis' service below.
 | 
	
		
			
				|  |  | -  REDIS_HOST: ${REDIS_HOST}
 | 
	
		
			
				|  |  | +  REDIS_HOST: ${REDIS_HOST:-redis}
 | 
	
		
			
				|  |  |    REDIS_PORT: ${REDIS_PORT:-6379}
 | 
	
		
			
				|  |  | -  REDIS_USERNAME: ${REDIS_USERNAME}
 | 
	
		
			
				|  |  | -  REDIS_PASSWORD: ${REDIS_PASSWORD}
 | 
	
		
			
				|  |  | -  REDIS_USE_SSL: ${REDIS_USE_SSL}
 | 
	
		
			
				|  |  | +  REDIS_USERNAME: ${REDIS_USERNAME:-}
 | 
	
		
			
				|  |  | +  REDIS_PASSWORD: ${REDIS_PASSWORD:-difyai123456}
 | 
	
		
			
				|  |  | +  REDIS_USE_SSL: ${REDIS_USE_SSL:-false}
 | 
	
		
			
				|  |  |    # Redis Database, default is 0. Please use a different Database from Session Redis and Celery Broker.
 | 
	
		
			
				|  |  |    REDIS_DB: 0
 | 
	
		
			
				|  |  |    # The configurations of celery broker.
 | 
	
		
			
				|  |  |    # Use redis as the broker, and redis db 1 for celery broker.
 | 
	
		
			
				|  |  | -  CELERY_BROKER_URL: ${CELERY_BROKER_URL}
 | 
	
		
			
				|  |  | -  BROKER_USE_SSL: ${BROKER_USE_SSL}
 | 
	
		
			
				|  |  | +  CELERY_BROKER_URL: ${CELERY_BROKER_URL:-redis://:difyai123456@redis:6379/1}
 | 
	
		
			
				|  |  | +  BROKER_USE_SSL: ${BROKER_USE_SSL:-false}
 | 
	
		
			
				|  |  |    # Specifies the allowed origins for cross-origin requests to the Web API, e.g. https://dify.app or * for all origins.
 | 
	
		
			
				|  |  | -  WEB_API_CORS_ALLOW_ORIGINS: ${WEB_API_CORS_ALLOW_ORIGINS}
 | 
	
		
			
				|  |  | +  WEB_API_CORS_ALLOW_ORIGINS: ${WEB_API_CORS_ALLOW_ORIGINS:-*}
 | 
	
		
			
				|  |  |    # Specifies the allowed origins for cross-origin requests to the console API, e.g. https://cloud.dify.ai or * for all origins.
 | 
	
		
			
				|  |  | -  CONSOLE_CORS_ALLOW_ORIGINS: ${CONSOLE_CORS_ALLOW_ORIGINS}
 | 
	
		
			
				|  |  | +  CONSOLE_CORS_ALLOW_ORIGINS: ${CONSOLE_CORS_ALLOW_ORIGINS:-*}
 | 
	
		
			
				|  |  |    # The type of storage to use for storing user files. Supported values are `local` and `s3` and `azure-blob` and `google-storage`, Default: `local`
 | 
	
		
			
				|  |  | -  STORAGE_TYPE: ${STORAGE_TYPE}
 | 
	
		
			
				|  |  | +  STORAGE_TYPE: ${STORAGE_TYPE:-local}
 | 
	
		
			
				|  |  |    # The path to the local storage directory, the directory relative the root path of API service codes or absolute path. Default: `storage` or `/home/john/storage`.
 | 
	
		
			
				|  |  |    # only available when STORAGE_TYPE is `local`.
 | 
	
		
			
				|  |  |    STORAGE_LOCAL_PATH: storage
 | 
	
		
			
				|  |  |    # The S3 storage configurations, only available when STORAGE_TYPE is `s3`.
 | 
	
		
			
				|  |  | -  S3_USE_AWS_MANAGED_IAM: ${S3_USE_AWS_MANAGED_IAM}
 | 
	
		
			
				|  |  | -  S3_ENDPOINT: ${S3_ENDPOINT}
 | 
	
		
			
				|  |  | -  S3_BUCKET_NAME: ${S3_BUCKET_NAME}
 | 
	
		
			
				|  |  | -  S3_ACCESS_KEY: ${S3_ACCESS_KEY}
 | 
	
		
			
				|  |  | -  S3_SECRET_KEY: ${S3_SECRET_KEY}
 | 
	
		
			
				|  |  | -  S3_REGION: ${S3_REGION}
 | 
	
		
			
				|  |  | +  S3_USE_AWS_MANAGED_IAM: ${S3_USE_AWS_MANAGED_IAM:-false}
 | 
	
		
			
				|  |  | +  S3_ENDPOINT: ${S3_ENDPOINT:-}
 | 
	
		
			
				|  |  | +  S3_BUCKET_NAME: ${S3_BUCKET_NAME:-}
 | 
	
		
			
				|  |  | +  S3_ACCESS_KEY: ${S3_ACCESS_KEY:-}
 | 
	
		
			
				|  |  | +  S3_SECRET_KEY: ${S3_SECRET_KEY:-}
 | 
	
		
			
				|  |  | +  S3_REGION: ${S3_REGION:-us-east-1}
 | 
	
		
			
				|  |  |    # The Azure Blob storage configurations, only available when STORAGE_TYPE is `azure-blob`.
 | 
	
		
			
				|  |  | -  AZURE_BLOB_ACCOUNT_NAME: ${AZURE_BLOB_ACCOUNT_NAME}
 | 
	
		
			
				|  |  | -  AZURE_BLOB_ACCOUNT_KEY: ${AZURE_BLOB_ACCOUNT_KEY}
 | 
	
		
			
				|  |  | -  AZURE_BLOB_CONTAINER_NAME: ${AZURE_BLOB_CONTAINER_NAME}
 | 
	
		
			
				|  |  | -  AZURE_BLOB_ACCOUNT_URL: ${AZURE_BLOB_ACCOUNT_URL}
 | 
	
		
			
				|  |  | +  AZURE_BLOB_ACCOUNT_NAME: ${AZURE_BLOB_ACCOUNT_NAME:-}
 | 
	
		
			
				|  |  | +  AZURE_BLOB_ACCOUNT_KEY: ${AZURE_BLOB_ACCOUNT_KEY:-}
 | 
	
		
			
				|  |  | +  AZURE_BLOB_CONTAINER_NAME: ${AZURE_BLOB_CONTAINER_NAME:-}
 | 
	
		
			
				|  |  | +  AZURE_BLOB_ACCOUNT_URL: ${AZURE_BLOB_ACCOUNT_URL:-}
 | 
	
		
			
				|  |  |    # The Google storage configurations, only available when STORAGE_TYPE is `google-storage`.
 | 
	
		
			
				|  |  | -  GOOGLE_STORAGE_BUCKET_NAME: ${GOOGLE_STORAGE_BUCKET_NAME}
 | 
	
		
			
				|  |  | +  GOOGLE_STORAGE_BUCKET_NAME: ${GOOGLE_STORAGE_BUCKET_NAME:-}
 | 
	
		
			
				|  |  |    # if you want to use Application Default Credentials, you can leave GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64 empty.
 | 
	
		
			
				|  |  | -  GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ${GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64}
 | 
	
		
			
				|  |  | +  GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ${GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64:-}
 | 
	
		
			
				|  |  |    # The Alibaba Cloud OSS configurations, only available when STORAGE_TYPE is `aliyun-oss`
 | 
	
		
			
				|  |  | -  ALIYUN_OSS_BUCKET_NAME: ${ALIYUN_OSS_BUCKET_NAME}
 | 
	
		
			
				|  |  | -  ALIYUN_OSS_ACCESS_KEY: ${ALIYUN_OSS_ACCESS_KEY}
 | 
	
		
			
				|  |  | -  ALIYUN_OSS_SECRET_KEY: ${ALIYUN_OSS_SECRET_KEY}
 | 
	
		
			
				|  |  | -  ALIYUN_OSS_ENDPOINT: ${ALIYUN_OSS_ENDPOINT}
 | 
	
		
			
				|  |  | -  ALIYUN_OSS_REGION: ${ALIYUN_OSS_REGION}
 | 
	
		
			
				|  |  | -  ALIYUN_OSS_AUTH_VERSION: ${ALIYUN_OSS_AUTH_VERSION}
 | 
	
		
			
				|  |  | +  ALIYUN_OSS_BUCKET_NAME: ${ALIYUN_OSS_BUCKET_NAME:-}
 | 
	
		
			
				|  |  | +  ALIYUN_OSS_ACCESS_KEY: ${ALIYUN_OSS_ACCESS_KEY:-}
 | 
	
		
			
				|  |  | +  ALIYUN_OSS_SECRET_KEY: ${ALIYUN_OSS_SECRET_KEY:-}
 | 
	
		
			
				|  |  | +  ALIYUN_OSS_ENDPOINT: ${ALIYUN_OSS_ENDPOINT:-}
 | 
	
		
			
				|  |  | +  ALIYUN_OSS_REGION: ${ALIYUN_OSS_REGION:-}
 | 
	
		
			
				|  |  | +  ALIYUN_OSS_AUTH_VERSION: ${ALIYUN_OSS_AUTH_VERSION:-v4}
 | 
	
		
			
				|  |  |    # The Tencent COS storage configurations, only available when STORAGE_TYPE is `tencent-cos`.
 | 
	
		
			
				|  |  | -  TENCENT_COS_BUCKET_NAME: ${TENCENT_COS_BUCKET_NAME}
 | 
	
		
			
				|  |  | -  TENCENT_COS_SECRET_KEY: ${TENCENT_COS_SECRET_KEY}
 | 
	
		
			
				|  |  | -  TENCENT_COS_SECRET_ID: ${TENCENT_COS_SECRET_ID}
 | 
	
		
			
				|  |  | -  TENCENT_COS_REGION: ${TENCENT_COS_REGION}
 | 
	
		
			
				|  |  | -  TENCENT_COS_SCHEME: ${TENCENT_COS_SCHEME}
 | 
	
		
			
				|  |  | +  TENCENT_COS_BUCKET_NAME: ${TENCENT_COS_BUCKET_NAME:-}
 | 
	
		
			
				|  |  | +  TENCENT_COS_SECRET_KEY: ${TENCENT_COS_SECRET_KEY:-}
 | 
	
		
			
				|  |  | +  TENCENT_COS_SECRET_ID: ${TENCENT_COS_SECRET_ID:-}
 | 
	
		
			
				|  |  | +  TENCENT_COS_REGION: ${TENCENT_COS_REGION:-}
 | 
	
		
			
				|  |  | +  TENCENT_COS_SCHEME: ${TENCENT_COS_SCHEME:-}
 | 
	
		
			
				|  |  |    # The type of vector store to use. Supported values are `weaviate`, `qdrant`, `milvus`, `relyt`, `pgvector`, `chroma`, 'opensearch', 'tidb_vector'.
 | 
	
		
			
				|  |  | -  VECTOR_STORE: ${VECTOR_STORE}
 | 
	
		
			
				|  |  | +  VECTOR_STORE: ${VECTOR_STORE:-weaviate}
 | 
	
		
			
				|  |  |    # The Weaviate endpoint URL. Only available when VECTOR_STORE is `weaviate`.
 | 
	
		
			
				|  |  | -  WEAVIATE_ENDPOINT: ${WEAVIATE_ENDPOINT}
 | 
	
		
			
				|  |  | +  WEAVIATE_ENDPOINT: ${WEAVIATE_ENDPOINT:-http://weaviate:8080}
 | 
	
		
			
				|  |  |    # The Weaviate API key.
 | 
	
		
			
				|  |  | -  WEAVIATE_API_KEY: ${WEAVIATE_API_KEY}
 | 
	
		
			
				|  |  | +  WEAVIATE_API_KEY: ${WEAVIATE_API_KEY:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih}
 | 
	
		
			
				|  |  |    # The Qdrant endpoint URL. Only available when VECTOR_STORE is `qdrant`.
 | 
	
		
			
				|  |  | -  QDRANT_URL: ${QDRANT_URL}
 | 
	
		
			
				|  |  | +  QDRANT_URL: ${QDRANT_URL:-http://qdrant:6333}
 | 
	
		
			
				|  |  |    # The Qdrant API key.
 | 
	
		
			
				|  |  | -  QDRANT_API_KEY: ${QDRANT_API_KEY}
 | 
	
		
			
				|  |  | +  QDRANT_API_KEY: ${QDRANT_API_KEY:-difyai123456}
 | 
	
		
			
				|  |  |    # The Qdrant client timeout setting.
 | 
	
		
			
				|  |  | -  QDRANT_CLIENT_TIMEOUT: ${QDRANT_CLIENT_TIMEOUT}
 | 
	
		
			
				|  |  | +  QDRANT_CLIENT_TIMEOUT: ${QDRANT_CLIENT_TIMEOUT:-20}
 | 
	
		
			
				|  |  |    # The Qdrant client enable gRPC mode.
 | 
	
		
			
				|  |  | -  QDRANT_GRPC_ENABLED: ${QDRANT_GRPC_ENABLED}
 | 
	
		
			
				|  |  | +  QDRANT_GRPC_ENABLED: ${QDRANT_GRPC_ENABLED:-false}
 | 
	
		
			
				|  |  |    # The Qdrant server gRPC mode PORT.
 | 
	
		
			
				|  |  | -  QDRANT_GRPC_PORT: ${QDRANT_GRPC_PORT}
 | 
	
		
			
				|  |  | +  QDRANT_GRPC_PORT: ${QDRANT_GRPC_PORT:-6334}
 | 
	
		
			
				|  |  |    # Milvus configuration Only available when VECTOR_STORE is `milvus`.
 | 
	
		
			
				|  |  |    # The milvus host.
 | 
	
		
			
				|  |  | -  MILVUS_HOST: ${MILVUS_HOST}
 | 
	
		
			
				|  |  | +  MILVUS_HOST: ${MILVUS_HOST:-127.0.0.1}
 | 
	
		
			
				|  |  |    # The milvus host.
 | 
	
		
			
				|  |  | -  MILVUS_PORT: ${MILVUS_PORT}
 | 
	
		
			
				|  |  | +  MILVUS_PORT: ${MILVUS_PORT:-19530}
 | 
	
		
			
				|  |  |    # The milvus username.
 | 
	
		
			
				|  |  | -  MILVUS_USER: ${MILVUS_USER}
 | 
	
		
			
				|  |  | +  MILVUS_USER: ${MILVUS_USER:-root}
 | 
	
		
			
				|  |  |    # The milvus password.
 | 
	
		
			
				|  |  | -  MILVUS_PASSWORD: ${MILVUS_PASSWORD}
 | 
	
		
			
				|  |  | +  MILVUS_PASSWORD: ${MILVUS_PASSWORD:-Milvus}
 | 
	
		
			
				|  |  |    # The milvus tls switch.
 | 
	
		
			
				|  |  | -  MILVUS_SECURE: ${MILVUS_SECURE}
 | 
	
		
			
				|  |  | +  MILVUS_SECURE: ${MILVUS_SECURE:-false}
 | 
	
		
			
				|  |  |    # relyt configurations
 | 
	
		
			
				|  |  | -  RELYT_HOST: ${RELYT_HOST}
 | 
	
		
			
				|  |  | -  RELYT_PORT: ${RELYT_PORT}
 | 
	
		
			
				|  |  | -  RELYT_USER: ${RELYT_USER}
 | 
	
		
			
				|  |  | -  RELYT_PASSWORD: ${RELYT_PASSWORD}
 | 
	
		
			
				|  |  | -  RELYT_DATABASE: ${RELYT_DATABASE}
 | 
	
		
			
				|  |  | +  RELYT_HOST: ${RELYT_HOST:-db}
 | 
	
		
			
				|  |  | +  RELYT_PORT: ${RELYT_PORT:-5432}
 | 
	
		
			
				|  |  | +  RELYT_USER: ${RELYT_USER:-postgres}
 | 
	
		
			
				|  |  | +  RELYT_PASSWORD: ${RELYT_PASSWORD:-difyai123456}
 | 
	
		
			
				|  |  | +  RELYT_DATABASE: ${RELYT_DATABASE:-postgres}
 | 
	
		
			
				|  |  |    # pgvector configurations
 | 
	
		
			
				|  |  | -  PGVECTOR_HOST: ${PGVECTOR_HOST}
 | 
	
		
			
				|  |  | -  PGVECTOR_PORT: ${PGVECTOR_PORT}
 | 
	
		
			
				|  |  | -  PGVECTOR_USER: ${PGVECTOR_USER}
 | 
	
		
			
				|  |  | -  PGVECTOR_PASSWORD: ${PGVECTOR_PASSWORD}
 | 
	
		
			
				|  |  | -  PGVECTOR_DATABASE: ${PGVECTOR_DATABASE}
 | 
	
		
			
				|  |  | +  PGVECTOR_HOST: ${PGVECTOR_HOST:-pgvector}
 | 
	
		
			
				|  |  | +  PGVECTOR_PORT: ${PGVECTOR_PORT:-5432}
 | 
	
		
			
				|  |  | +  PGVECTOR_USER: ${PGVECTOR_USER:-postgres}
 | 
	
		
			
				|  |  | +  PGVECTOR_PASSWORD: ${PGVECTOR_PASSWORD:-difyai123456}
 | 
	
		
			
				|  |  | +  PGVECTOR_DATABASE: ${PGVECTOR_DATABASE:-dify}
 | 
	
		
			
				|  |  |    # tidb vector configurations
 | 
	
		
			
				|  |  | -  TIDB_VECTOR_HOST: ${TIDB_VECTOR_HOST}
 | 
	
		
			
				|  |  | -  TIDB_VECTOR_PORT: ${TIDB_VECTOR_PORT}
 | 
	
		
			
				|  |  | -  TIDB_VECTOR_USER: ${TIDB_VECTOR_USER}
 | 
	
		
			
				|  |  | -  TIDB_VECTOR_PASSWORD: ${TIDB_VECTOR_PASSWORD}
 | 
	
		
			
				|  |  | -  TIDB_VECTOR_DATABASE: ${TIDB_VECTOR_DATABASE}
 | 
	
		
			
				|  |  | +  TIDB_VECTOR_HOST: ${TIDB_VECTOR_HOST:-tidb}
 | 
	
		
			
				|  |  | +  TIDB_VECTOR_PORT: ${TIDB_VECTOR_PORT:-4000}
 | 
	
		
			
				|  |  | +  TIDB_VECTOR_USER: ${TIDB_VECTOR_USER:-}
 | 
	
		
			
				|  |  | +  TIDB_VECTOR_PASSWORD: ${TIDB_VECTOR_PASSWORD:-}
 | 
	
		
			
				|  |  | +  TIDB_VECTOR_DATABASE: ${TIDB_VECTOR_DATABASE:-dify}
 | 
	
		
			
				|  |  |    # oracle configurations
 | 
	
		
			
				|  |  | -  ORACLE_HOST: ${ORACLE_HOST}
 | 
	
		
			
				|  |  | -  ORACLE_PORT: ${ORACLE_PORT}
 | 
	
		
			
				|  |  | -  ORACLE_USER: ${ORACLE_USER}
 | 
	
		
			
				|  |  | -  ORACLE_PASSWORD: ${ORACLE_PASSWORD}
 | 
	
		
			
				|  |  | -  ORACLE_DATABASE: ${ORACLE_DATABASE}
 | 
	
		
			
				|  |  | +  ORACLE_HOST: ${ORACLE_HOST:-oracle}
 | 
	
		
			
				|  |  | +  ORACLE_PORT: ${ORACLE_PORT:-1521}
 | 
	
		
			
				|  |  | +  ORACLE_USER: ${ORACLE_USER:-dify}
 | 
	
		
			
				|  |  | +  ORACLE_PASSWORD: ${ORACLE_PASSWORD:-dify}
 | 
	
		
			
				|  |  | +  ORACLE_DATABASE: ${ORACLE_DATABASE:-FREEPDB1}
 | 
	
		
			
				|  |  |    # Chroma configuration
 | 
	
		
			
				|  |  | -  CHROMA_HOST: ${CHROMA_HOST}
 | 
	
		
			
				|  |  | -  CHROMA_PORT: ${CHROMA_PORT}
 | 
	
		
			
				|  |  | -  CHROMA_TENANT: ${CHROMA_TENANT}
 | 
	
		
			
				|  |  | -  CHROMA_DATABASE: ${CHROMA_DATABASE}
 | 
	
		
			
				|  |  | -  CHROMA_AUTH_PROVIDER: ${CHROMA_AUTH_PROVIDER}
 | 
	
		
			
				|  |  | -  CHROMA_AUTH_CREDENTIALS: ${CHROMA_AUTH_CREDENTIALS}
 | 
	
		
			
				|  |  | +  CHROMA_HOST: ${CHROMA_HOST:-127.0.0.1}
 | 
	
		
			
				|  |  | +  CHROMA_PORT: ${CHROMA_PORT:-8000}
 | 
	
		
			
				|  |  | +  CHROMA_TENANT: ${CHROMA_TENANT:-default_tenant}
 | 
	
		
			
				|  |  | +  CHROMA_DATABASE: ${CHROMA_DATABASE:-default_database}
 | 
	
		
			
				|  |  | +  CHROMA_AUTH_PROVIDER: ${CHROMA_AUTH_PROVIDER:-chromadb.auth.token_authn.TokenAuthClientProvider}
 | 
	
		
			
				|  |  | +  CHROMA_AUTH_CREDENTIALS: ${CHROMA_AUTH_CREDENTIALS:-}
 | 
	
		
			
				|  |  |    # OpenSearch configuration
 | 
	
		
			
				|  |  | -  OPENSEARCH_HOST: ${OPENSEARCH_HOST}
 | 
	
		
			
				|  |  | -  OPENSEARCH_PORT: ${OPENSEARCH_PORT}
 | 
	
		
			
				|  |  | -  OPENSEARCH_USER: ${OPENSEARCH_USER}
 | 
	
		
			
				|  |  | -  OPENSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD}
 | 
	
		
			
				|  |  | -  OPENSEARCH_SECURE: ${OPENSEARCH_SECURE}
 | 
	
		
			
				|  |  | +  OPENSEARCH_HOST: ${OPENSEARCH_HOST:-opensearch}
 | 
	
		
			
				|  |  | +  OPENSEARCH_PORT: ${OPENSEARCH_PORT:-9200}
 | 
	
		
			
				|  |  | +  OPENSEARCH_USER: ${OPENSEARCH_USER:-admin}
 | 
	
		
			
				|  |  | +  OPENSEARCH_PASSWORD: ${OPENSEARCH_PASSWORD:-admin}
 | 
	
		
			
				|  |  | +  OPENSEARCH_SECURE: ${OPENSEARCH_SECURE:-true}
 | 
	
		
			
				|  |  |    # tencent configurations
 | 
	
		
			
				|  |  | -  TENCENT_VECTOR_DB_URL: ${TENCENT_VECTOR_DB_URL}
 | 
	
		
			
				|  |  | -  TENCENT_VECTOR_DB_API_KEY: ${TENCENT_VECTOR_DB_API_KEY}
 | 
	
		
			
				|  |  | -  TENCENT_VECTOR_DB_TIMEOUT: ${TENCENT_VECTOR_DB_TIMEOUT}
 | 
	
		
			
				|  |  | -  TENCENT_VECTOR_DB_USERNAME: ${TENCENT_VECTOR_DB_USERNAME}
 | 
	
		
			
				|  |  | -  TENCENT_VECTOR_DB_DATABASE: ${TENCENT_VECTOR_DB_DATABASE}
 | 
	
		
			
				|  |  | -  TENCENT_VECTOR_DB_SHARD: ${TENCENT_VECTOR_DB_SHARD}
 | 
	
		
			
				|  |  | -  TENCENT_VECTOR_DB_REPLICAS: ${TENCENT_VECTOR_DB_REPLICAS}
 | 
	
		
			
				|  |  | +  TENCENT_VECTOR_DB_URL: ${TENCENT_VECTOR_DB_URL:-http://127.0.0.1}
 | 
	
		
			
				|  |  | +  TENCENT_VECTOR_DB_API_KEY: ${TENCENT_VECTOR_DB_API_KEY:-dify}
 | 
	
		
			
				|  |  | +  TENCENT_VECTOR_DB_TIMEOUT: ${TENCENT_VECTOR_DB_TIMEOUT:-30}
 | 
	
		
			
				|  |  | +  TENCENT_VECTOR_DB_USERNAME: ${TENCENT_VECTOR_DB_USERNAME:-dify}
 | 
	
		
			
				|  |  | +  TENCENT_VECTOR_DB_DATABASE: ${TENCENT_VECTOR_DB_DATABASE:-dify}
 | 
	
		
			
				|  |  | +  TENCENT_VECTOR_DB_SHARD: ${TENCENT_VECTOR_DB_SHARD:-1}
 | 
	
		
			
				|  |  | +  TENCENT_VECTOR_DB_REPLICAS: ${TENCENT_VECTOR_DB_REPLICAS:-2}
 | 
	
		
			
				|  |  |    # Knowledge Configuration
 | 
	
		
			
				|  |  |    # Upload file size limit, default 15M.
 | 
	
		
			
				|  |  | -  UPLOAD_FILE_SIZE_LIMIT: ${UPLOAD_FILE_SIZE_LIMIT}
 | 
	
		
			
				|  |  | +  UPLOAD_FILE_SIZE_LIMIT: ${UPLOAD_FILE_SIZE_LIMIT:-15}
 | 
	
		
			
				|  |  |    # The maximum number of files that can be uploaded at a time, default 5.
 | 
	
		
			
				|  |  | -  UPLOAD_FILE_BATCH_LIMIT: ${UPLOAD_FILE_BATCH_LIMIT}
 | 
	
		
			
				|  |  | +  UPLOAD_FILE_BATCH_LIMIT: ${UPLOAD_FILE_BATCH_LIMIT:-5}
 | 
	
		
			
				|  |  |    # `dify` Dify's proprietary file extraction scheme
 | 
	
		
			
				|  |  |    # `Unstructured` Unstructured.io file extraction scheme
 | 
	
		
			
				|  |  | -  ETL_TYPE: ${ETL_TYPE}
 | 
	
		
			
				|  |  | +  ETL_TYPE: ${ETL_TYPE:-dify}
 | 
	
		
			
				|  |  |    # Unstructured API path, needs to be configured when ETL_TYPE is Unstructured.
 | 
	
		
			
				|  |  | -  UNSTRUCTURED_API_URL: ${UNSTRUCTURED_API_URL}
 | 
	
		
			
				|  |  | +  UNSTRUCTURED_API_URL: ${UNSTRUCTURED_API_URL:-}
 | 
	
		
			
				|  |  |    # Multi-modal Configuration
 | 
	
		
			
				|  |  |    # The format of the image sent when the multi-modal model is input, the default is base64, optional url.
 | 
	
		
			
				|  |  | -  MULTIMODAL_SEND_IMAGE_FORMAT: ${MULTIMODAL_SEND_IMAGE_FORMAT}
 | 
	
		
			
				|  |  | +  MULTIMODAL_SEND_IMAGE_FORMAT: ${MULTIMODAL_SEND_IMAGE_FORMAT:-base64}
 | 
	
		
			
				|  |  |    # Upload image file size limit, default 10M.
 | 
	
		
			
				|  |  | -  UPLOAD_IMAGE_FILE_SIZE_LIMIT: ${UPLOAD_IMAGE_FILE_SIZE_LIMIT}
 | 
	
		
			
				|  |  | +  UPLOAD_IMAGE_FILE_SIZE_LIMIT: ${UPLOAD_IMAGE_FILE_SIZE_LIMIT:-10}
 | 
	
		
			
				|  |  |    # The DSN for Sentry error reporting. If not set, Sentry error reporting will be disabled.
 | 
	
		
			
				|  |  | -  SENTRY_DSN: ${SENTRY_DSN}
 | 
	
		
			
				|  |  | +  SENTRY_DSN: ${API_SENTRY_DSN:-}
 | 
	
		
			
				|  |  |    # The sample rate for Sentry events. Default: `1.0`
 | 
	
		
			
				|  |  | -  SENTRY_TRACES_SAMPLE_RATE: ${SENTRY_TRACES_SAMPLE_RATE}
 | 
	
		
			
				|  |  | +  SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0}
 | 
	
		
			
				|  |  |    # The sample rate for Sentry profiles. Default: `1.0`
 | 
	
		
			
				|  |  | -  SENTRY_PROFILES_SAMPLE_RATE: ${SENTRY_PROFILES_SAMPLE_RATE}
 | 
	
		
			
				|  |  | +  SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0}
 | 
	
		
			
				|  |  |    # Notion import configuration, support public and internal
 | 
	
		
			
				|  |  | -  NOTION_INTEGRATION_TYPE: ${NOTION_INTEGRATION_TYPE}
 | 
	
		
			
				|  |  | -  NOTION_CLIENT_SECRET: ${NOTION_CLIENT_SECRET}
 | 
	
		
			
				|  |  | -  NOTION_CLIENT_ID: ${NOTION_CLIENT_ID}
 | 
	
		
			
				|  |  | -  NOTION_INTERNAL_SECRET: ${NOTION_INTERNAL_SECRET}
 | 
	
		
			
				|  |  | +  NOTION_INTEGRATION_TYPE: ${NOTION_INTEGRATION_TYPE:-public}
 | 
	
		
			
				|  |  | +  NOTION_CLIENT_SECRET: ${NOTION_CLIENT_SECRET:-}
 | 
	
		
			
				|  |  | +  NOTION_CLIENT_ID: ${NOTION_CLIENT_ID:-}
 | 
	
		
			
				|  |  | +  NOTION_INTERNAL_SECRET: ${NOTION_INTERNAL_SECRET:-}
 | 
	
		
			
				|  |  |    # Mail configuration, support: resend, smtp
 | 
	
		
			
				|  |  | -  MAIL_TYPE: ${MAIL_TYPE}
 | 
	
		
			
				|  |  | +  MAIL_TYPE: ${MAIL_TYPE:-resend}
 | 
	
		
			
				|  |  |    # default send from email address, if not specified
 | 
	
		
			
				|  |  | -  MAIL_DEFAULT_SEND_FROM: ${MAIL_DEFAULT_SEND_FROM}
 | 
	
		
			
				|  |  | -  SMTP_SERVER: ${SMTP_SERVER}
 | 
	
		
			
				|  |  | +  MAIL_DEFAULT_SEND_FROM: ${MAIL_DEFAULT_SEND_FROM:-}
 | 
	
		
			
				|  |  | +  SMTP_SERVER: ${SMTP_SERVER:-}
 | 
	
		
			
				|  |  |    SMTP_PORT: ${SMTP_PORT:-465}
 | 
	
		
			
				|  |  | -  SMTP_USERNAME: ${SMTP_USERNAME}
 | 
	
		
			
				|  |  | -  SMTP_PASSWORD: ${SMTP_PASSWORD}
 | 
	
		
			
				|  |  | -  SMTP_USE_TLS: ${SMTP_USE_TLS}
 | 
	
		
			
				|  |  | -  SMTP_OPPORTUNISTIC_TLS: ${SMTP_OPPORTUNISTIC_TLS}
 | 
	
		
			
				|  |  | +  SMTP_USERNAME: ${SMTP_USERNAME:-}
 | 
	
		
			
				|  |  | +  SMTP_PASSWORD: ${SMTP_PASSWORD:-}
 | 
	
		
			
				|  |  | +  SMTP_USE_TLS: ${SMTP_USE_TLS:-true}
 | 
	
		
			
				|  |  | +  SMTP_OPPORTUNISTIC_TLS: ${SMTP_OPPORTUNISTIC_TLS:-false}
 | 
	
		
			
				|  |  |    # the api-key for resend (https://resend.com)
 | 
	
		
			
				|  |  | -  RESEND_API_KEY: ${RESEND_API_KEY}
 | 
	
		
			
				|  |  | +  RESEND_API_KEY: ${RESEND_API_KEY:-your-resend-api-key}
 | 
	
		
			
				|  |  |    RESEND_API_URL: https://api.resend.com
 | 
	
		
			
				|  |  |    # Indexing configuration
 | 
	
		
			
				|  |  | -  INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: ${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH}
 | 
	
		
			
				|  |  | +  INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: ${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH:-1000}
 | 
	
		
			
				|  |  |    # Other configurations
 | 
	
		
			
				|  |  | -  INVITE_EXPIRY_HOURS: ${INVITE_EXPIRY_HOURS}
 | 
	
		
			
				|  |  | +  INVITE_EXPIRY_HOURS: ${INVITE_EXPIRY_HOURS:-72}
 | 
	
		
			
				|  |  |    CODE_EXECUTION_ENDPOINT: ${CODE_EXECUTION_ENDPOINT:-http://sandbox:8194}
 | 
	
		
			
				|  |  |    CODE_EXECUTION_API_KEY: ${CODE_EXECUTION_API_KEY:-dify-sandbox}
 | 
	
		
			
				|  |  |    CODE_MAX_NUMBER: ${CODE_MAX_NUMBER:-9223372036854775807}
 | 
	
		
			
				|  |  | -  CODE_MIN_NUMBER: ${CODE_MIN_NUMBER:- -9223372036854775808}
 | 
	
		
			
				|  |  | +  CODE_MIN_NUMBER: ${CODE_MIN_NUMBER:--9223372036854775808}
 | 
	
		
			
				|  |  |    CODE_MAX_STRING_LENGTH: ${CODE_MAX_STRING_LENGTH:-80000}
 | 
	
		
			
				|  |  |    TEMPLATE_TRANSFORM_MAX_LENGTH: ${TEMPLATE_TRANSFORM_MAX_LENGTH:-80000}
 | 
	
		
			
				|  |  |    CODE_MAX_STRING_ARRAY_LENGTH: ${CODE_MAX_STRING_ARRAY_LENGTH:-30}
 | 
	
	
		
			
				|  | @@ -303,7 +303,7 @@ services:
 | 
	
		
			
				|  |  |      environment:
 | 
	
		
			
				|  |  |        CONSOLE_API_URL: ${CONSOLE_API_URL:-}
 | 
	
		
			
				|  |  |        APP_API_URL: ${APP_API_URL:-}
 | 
	
		
			
				|  |  | -      SENTRY_DSN: ${SENTRY_DSN:-}
 | 
	
		
			
				|  |  | +      SENTRY_DSN: ${WEB_SENTRY_DSN:-}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    # The postgres database.
 | 
	
		
			
				|  |  |    db:
 | 
	
	
		
			
				|  | @@ -342,12 +342,12 @@ services:
 | 
	
		
			
				|  |  |        # The DifySandbox configurations
 | 
	
		
			
				|  |  |        # Make sure you are changing this key for your deployment with a strong key.
 | 
	
		
			
				|  |  |        # You can generate a strong key using `openssl rand -base64 42`.
 | 
	
		
			
				|  |  | -      API_KEY: ${API_KEY:-dify-sandbox}
 | 
	
		
			
				|  |  | -      GIN_MODE: ${GIN_MODE:-release}
 | 
	
		
			
				|  |  | -      WORKER_TIMEOUT: ${WORKER_TIMEOUT:-15}
 | 
	
		
			
				|  |  | -      ENABLE_NETWORK: ${ENABLE_NETWORK:-true}
 | 
	
		
			
				|  |  | -      HTTP_PROXY: ${HTTP_PROXY:-http://ssrf_proxy:3128}
 | 
	
		
			
				|  |  | -      HTTPS_PROXY: ${HTTPS_PROXY:-http://ssrf_proxy:3128}
 | 
	
		
			
				|  |  | +      API_KEY: ${SANDBOX_API_KEY:-dify-sandbox}
 | 
	
		
			
				|  |  | +      GIN_MODE: ${SANDBOX_GIN_MODE:-release}
 | 
	
		
			
				|  |  | +      WORKER_TIMEOUT: ${SANDBOX_WORKER_TIMEOUT:-15}
 | 
	
		
			
				|  |  | +      ENABLE_NETWORK: ${SANDBOX_ENABLE_NETWORK:-true}
 | 
	
		
			
				|  |  | +      HTTP_PROXY: ${SANDBOX_HTTP_PROXY:-http://ssrf_proxy:3128}
 | 
	
		
			
				|  |  | +      HTTPS_PROXY: ${SANDBOX_HTTPS_PROXY:-http://ssrf_proxy:3128}
 | 
	
		
			
				|  |  |        SANDBOX_PORT: ${SANDBOX_PORT:-8194}
 | 
	
		
			
				|  |  |      volumes:
 | 
	
		
			
				|  |  |        - ./volumes/sandbox/dependencies:/dependencies
 | 
	
	
		
			
				|  | @@ -367,9 +367,9 @@ services:
 | 
	
		
			
				|  |  |      environment:
 | 
	
		
			
				|  |  |        # pls clearly modify the squid env vars to fit your network environment.
 | 
	
		
			
				|  |  |        HTTP_PORT: ${SSRF_HTTP_PORT:-3128}
 | 
	
		
			
				|  |  | -      COREDUMP_DIR: ${COREDUMP_DIR:-/var/spool/squid}
 | 
	
		
			
				|  |  | -      REVERSE_PROXY_PORT: ${REVERSE_PROXY_PORT:-8194}
 | 
	
		
			
				|  |  | -      SANDBOX_HOST: ${SANDBOX_HOST:-sandbox}
 | 
	
		
			
				|  |  | +      COREDUMP_DIR: ${SSRF_COREDUMP_DIR:-/var/spool/squid}
 | 
	
		
			
				|  |  | +      REVERSE_PROXY_PORT: ${SSRF_REVERSE_PROXY_PORT:-8194}
 | 
	
		
			
				|  |  | +      SANDBOX_HOST: ${SSRF_SANDBOX_HOST:-sandbox}
 | 
	
		
			
				|  |  |        SANDBOX_PORT: ${SANDBOX_PORT:-8194}
 | 
	
		
			
				|  |  |      networks:
 | 
	
		
			
				|  |  |        - ssrf_proxy_network
 | 
	
	
		
			
				|  | @@ -389,7 +389,7 @@ services:
 | 
	
		
			
				|  |  |      entrypoint: [ "sh", "-c", "cp /docker-entrypoint-mount.sh /docker-entrypoint.sh && sed -i 's/\r$//' /docker-entrypoint.sh && chmod +x /docker-entrypoint.sh && /docker-entrypoint.sh" ]
 | 
	
		
			
				|  |  |      environment:
 | 
	
		
			
				|  |  |        NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_}
 | 
	
		
			
				|  |  | -      HTTPS_ENABLED: ${HTTPS_ENABLED:-false}
 | 
	
		
			
				|  |  | +      HTTPS_ENABLED: ${NGINX_HTTPS_ENABLED:-false}
 | 
	
		
			
				|  |  |        NGINX_SSL_PORT: ${NGINX_SSL_PORT:-443}
 | 
	
		
			
				|  |  |        # You're required to add your own SSL certificates/keys to the `./nginx/ssl` directory
 | 
	
		
			
				|  |  |        # and modify the env vars below in .env if HTTPS_ENABLED is true.
 | 
	
	
		
			
				|  | @@ -420,16 +420,16 @@ services:
 | 
	
		
			
				|  |  |      environment:
 | 
	
		
			
				|  |  |        # The Weaviate configurations
 | 
	
		
			
				|  |  |        # You can refer to the [Weaviate](https://weaviate.io/developers/weaviate/config-refs/env-vars) documentation for more information.
 | 
	
		
			
				|  |  | -      PERSISTENCE_DATA_PATH: ${PERSISTENCE_DATA_PATH:-/var/lib/weaviate}
 | 
	
		
			
				|  |  | -      QUERY_DEFAULTS_LIMIT: ${QUERY_DEFAULTS_LIMIT:-25}
 | 
	
		
			
				|  |  | -      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: ${AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED:-false}
 | 
	
		
			
				|  |  | -      DEFAULT_VECTORIZER_MODULE: ${DEFAULT_VECTORIZER_MODULE:-none}
 | 
	
		
			
				|  |  | -      CLUSTER_HOSTNAME: ${CLUSTER_HOSTNAME:-node1}
 | 
	
		
			
				|  |  | -      AUTHENTICATION_APIKEY_ENABLED: ${AUTHENTICATION_APIKEY_ENABLED:-true}
 | 
	
		
			
				|  |  | -      AUTHENTICATION_APIKEY_ALLOWED_KEYS: ${AUTHENTICATION_APIKEY_ALLOWED_KEYS:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih}
 | 
	
		
			
				|  |  | -      AUTHENTICATION_APIKEY_USERS: ${AUTHENTICATION_APIKEY_USERS:-hello@dify.ai}
 | 
	
		
			
				|  |  | -      AUTHORIZATION_ADMINLIST_ENABLED: ${AUTHORIZATION_ADMINLIST_ENABLED:-true}
 | 
	
		
			
				|  |  | -      AUTHORIZATION_ADMINLIST_USERS: ${AUTHORIZATION_ADMINLIST_USERS:-hello@dify.ai}
 | 
	
		
			
				|  |  | +      PERSISTENCE_DATA_PATH: ${WEAVIATE_PERSISTENCE_DATA_PATH:-/var/lib/weaviate}
 | 
	
		
			
				|  |  | +      QUERY_DEFAULTS_LIMIT: ${WEAVIATE_QUERY_DEFAULTS_LIMIT:-25}
 | 
	
		
			
				|  |  | +      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: ${WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED:-false}
 | 
	
		
			
				|  |  | +      DEFAULT_VECTORIZER_MODULE: ${WEAVIATE_DEFAULT_VECTORIZER_MODULE:-none}
 | 
	
		
			
				|  |  | +      CLUSTER_HOSTNAME: ${WEAVIATE_CLUSTER_HOSTNAME:-node1}
 | 
	
		
			
				|  |  | +      AUTHENTICATION_APIKEY_ENABLED: ${WEAVIATE_AUTHENTICATION_APIKEY_ENABLED:-true}
 | 
	
		
			
				|  |  | +      AUTHENTICATION_APIKEY_ALLOWED_KEYS: ${WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS:-WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih}
 | 
	
		
			
				|  |  | +      AUTHENTICATION_APIKEY_USERS: ${WEAVIATE_AUTHENTICATION_APIKEY_USERS:-hello@dify.ai}
 | 
	
		
			
				|  |  | +      AUTHORIZATION_ADMINLIST_ENABLED: ${WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED:-true}
 | 
	
		
			
				|  |  | +      AUTHORIZATION_ADMINLIST_USERS: ${WEAVIATE_AUTHORIZATION_ADMINLIST_USERS:-hello@dify.ai}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    # Qdrant vector store.
 | 
	
		
			
				|  |  |    # (if used, you need to set VECTOR_STORE to qdrant in the api & worker service.)
 | 
	
	
		
			
				|  | @@ -472,13 +472,13 @@ services:
 | 
	
		
			
				|  |  |        - pgvecto-rs
 | 
	
		
			
				|  |  |      restart: always
 | 
	
		
			
				|  |  |      environment:
 | 
	
		
			
				|  |  | -      PGUSER: ${PGUSER:-postgres}
 | 
	
		
			
				|  |  | +      PGUSER: ${PGVECTOR_PGUSER:-postgres}
 | 
	
		
			
				|  |  |        # The password for the default postgres user.
 | 
	
		
			
				|  |  | -      POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-difyai123456}
 | 
	
		
			
				|  |  | +      POSTGRES_PASSWORD: ${PGVECTOR_POSTGRES_PASSWORD:-difyai123456}
 | 
	
		
			
				|  |  |        # The name of the default postgres database.
 | 
	
		
			
				|  |  | -      POSTGRES_DB: ${POSTGRES_DB:-dify}
 | 
	
		
			
				|  |  | +      POSTGRES_DB: ${PGVECTOR_POSTGRES_DB:-dify}
 | 
	
		
			
				|  |  |        # postgres data directory
 | 
	
		
			
				|  |  | -      PGDATA: ${PGDATA:-/var/lib/postgresql/data/pgdata}
 | 
	
		
			
				|  |  | +      PGDATA: ${PGVECTOR_PGDATA:-/var/lib/postgresql/data/pgdata}
 | 
	
		
			
				|  |  |      volumes:
 | 
	
		
			
				|  |  |        - ./volumes/pgvecto_rs/data:/var/lib/postgresql/data
 | 
	
		
			
				|  |  |      healthcheck:
 | 
	
	
		
			
				|  | @@ -498,7 +498,7 @@ services:
 | 
	
		
			
				|  |  |      environment:
 | 
	
		
			
				|  |  |        CHROMA_SERVER_AUTHN_CREDENTIALS: ${CHROMA_SERVER_AUTHN_CREDENTIALS:-difyai123456}
 | 
	
		
			
				|  |  |        CHROMA_SERVER_AUTHN_PROVIDER: ${CHROMA_SERVER_AUTHN_PROVIDER:-chromadb.auth.token_authn.TokenAuthenticationServerProvider}
 | 
	
		
			
				|  |  | -      IS_PERSISTENT: ${IS_PERSISTENT:-TRUE}
 | 
	
		
			
				|  |  | +      IS_PERSISTENT: ${CHROMA_IS_PERSISTENT:-TRUE}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |    oracle:
 | 
	
		
			
				|  |  |      image: container-registry.oracle.com/database/free:latest
 |