Updated Dify
This commit is contained in:
+32
-6
@@ -58,8 +58,8 @@ FILES_URL=
|
|||||||
INTERNAL_FILES_URL=
|
INTERNAL_FILES_URL=
|
||||||
|
|
||||||
# Ensure UTF-8 encoding
|
# Ensure UTF-8 encoding
|
||||||
LANG=en_US.UTF-8
|
LANG=C.UTF-8
|
||||||
LC_ALL=en_US.UTF-8
|
LC_ALL=C.UTF-8
|
||||||
PYTHONIOENCODING=utf-8
|
PYTHONIOENCODING=utf-8
|
||||||
|
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
@@ -69,6 +69,8 @@ PYTHONIOENCODING=utf-8
|
|||||||
# The log level for the application.
|
# The log level for the application.
|
||||||
# Supported values are `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`
|
# Supported values are `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL`
|
||||||
LOG_LEVEL=INFO
|
LOG_LEVEL=INFO
|
||||||
|
# Log output format: text or json
|
||||||
|
LOG_OUTPUT_FORMAT=text
|
||||||
# Log file path
|
# Log file path
|
||||||
LOG_FILE=/app/logs/server.log
|
LOG_FILE=/app/logs/server.log
|
||||||
# Log file max size, the unit is MB
|
# Log file max size, the unit is MB
|
||||||
@@ -231,7 +233,7 @@ NEXT_PUBLIC_ENABLE_SINGLE_DOLLAR_LATEX=false
|
|||||||
# You can adjust the database configuration according to your needs.
|
# You can adjust the database configuration according to your needs.
|
||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
# Database type, supported values are `postgresql` and `mysql`
|
# Database type, supported values are `postgresql`, `mysql`, `oceanbase`, `seekdb`
|
||||||
DB_TYPE=postgresql
|
DB_TYPE=postgresql
|
||||||
# For MySQL, only `root` user is supported for now
|
# For MySQL, only `root` user is supported for now
|
||||||
DB_USERNAME=postgres
|
DB_USERNAME=postgres
|
||||||
@@ -447,6 +449,15 @@ S3_SECRET_KEY=
|
|||||||
# If set to false, the access key and secret key must be provided.
|
# If set to false, the access key and secret key must be provided.
|
||||||
S3_USE_AWS_MANAGED_IAM=false
|
S3_USE_AWS_MANAGED_IAM=false
|
||||||
|
|
||||||
|
# Workflow run and Conversation archive storage (S3-compatible)
|
||||||
|
ARCHIVE_STORAGE_ENABLED=false
|
||||||
|
ARCHIVE_STORAGE_ENDPOINT=
|
||||||
|
ARCHIVE_STORAGE_ARCHIVE_BUCKET=
|
||||||
|
ARCHIVE_STORAGE_EXPORT_BUCKET=
|
||||||
|
ARCHIVE_STORAGE_ACCESS_KEY=
|
||||||
|
ARCHIVE_STORAGE_SECRET_KEY=
|
||||||
|
ARCHIVE_STORAGE_REGION=auto
|
||||||
|
|
||||||
# Azure Blob Configuration
|
# Azure Blob Configuration
|
||||||
#
|
#
|
||||||
AZURE_BLOB_ACCOUNT_NAME=difyai
|
AZURE_BLOB_ACCOUNT_NAME=difyai
|
||||||
@@ -522,7 +533,7 @@ SUPABASE_URL=your-server-url
|
|||||||
# ------------------------------
|
# ------------------------------
|
||||||
|
|
||||||
# The type of vector store to use.
|
# The type of vector store to use.
|
||||||
# Supported values are `weaviate`, `oceanbase`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `opengauss`, `tablestore`,`vastbase`,`tidb`,`tidb_on_qdrant`,`baidu`,`lindorm`,`huawei_cloud`,`upstash`, `matrixone`, `clickzetta`, `alibabacloud_mysql`, `iris`.
|
# Supported values are `weaviate`, `oceanbase`, `seekdb`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `opengauss`, `tablestore`, `vastbase`, `tidb`, `tidb_on_qdrant`, `baidu`, `lindorm`, `huawei_cloud`, `upstash`, `matrixone`, `clickzetta`, `alibabacloud_mysql`, `iris`.
|
||||||
VECTOR_STORE=weaviate
|
VECTOR_STORE=weaviate
|
||||||
# Prefix used to create collection name in vector database
|
# Prefix used to create collection name in vector database
|
||||||
VECTOR_INDEX_NAME_PREFIX=Vector_index
|
VECTOR_INDEX_NAME_PREFIX=Vector_index
|
||||||
@@ -533,9 +544,9 @@ WEAVIATE_API_KEY=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
|
|||||||
WEAVIATE_GRPC_ENDPOINT=grpc://weaviate:50051
|
WEAVIATE_GRPC_ENDPOINT=grpc://weaviate:50051
|
||||||
WEAVIATE_TOKENIZATION=word
|
WEAVIATE_TOKENIZATION=word
|
||||||
|
|
||||||
# For OceanBase metadata database configuration, available when `DB_TYPE` is `mysql` and `COMPOSE_PROFILES` includes `oceanbase`.
|
# For OceanBase metadata database configuration, available when `DB_TYPE` is `oceanbase`.
|
||||||
# For OceanBase vector database configuration, available when `VECTOR_STORE` is `oceanbase`
|
# For OceanBase vector database configuration, available when `VECTOR_STORE` is `oceanbase`
|
||||||
# If you want to use OceanBase as both vector database and metadata database, you need to set `DB_TYPE` to `mysql`, `COMPOSE_PROFILES` is `oceanbase`, and set Database Configuration is the same as the vector database.
|
# If you want to use OceanBase as both vector database and metadata database, you need to set both `DB_TYPE` and `VECTOR_STORE` to `oceanbase`, and set Database Configuration is the same as the vector database.
|
||||||
# seekdb is the lite version of OceanBase and shares the connection configuration with OceanBase.
|
# seekdb is the lite version of OceanBase and shares the connection configuration with OceanBase.
|
||||||
OCEANBASE_VECTOR_HOST=oceanbase
|
OCEANBASE_VECTOR_HOST=oceanbase
|
||||||
OCEANBASE_VECTOR_PORT=2881
|
OCEANBASE_VECTOR_PORT=2881
|
||||||
@@ -957,6 +968,8 @@ SMTP_USERNAME=
|
|||||||
SMTP_PASSWORD=
|
SMTP_PASSWORD=
|
||||||
SMTP_USE_TLS=true
|
SMTP_USE_TLS=true
|
||||||
SMTP_OPPORTUNISTIC_TLS=false
|
SMTP_OPPORTUNISTIC_TLS=false
|
||||||
|
# Optional: override the local hostname used for SMTP HELO/EHLO
|
||||||
|
SMTP_LOCAL_HOSTNAME=
|
||||||
|
|
||||||
# Sendgid configuration
|
# Sendgid configuration
|
||||||
SENDGRID_API_KEY=
|
SENDGRID_API_KEY=
|
||||||
@@ -1026,18 +1039,26 @@ WORKFLOW_NODE_EXECUTION_STORAGE=rdbms
|
|||||||
# Options:
|
# Options:
|
||||||
# - core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository (default)
|
# - core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository (default)
|
||||||
# - core.repositories.celery_workflow_execution_repository.CeleryWorkflowExecutionRepository
|
# - core.repositories.celery_workflow_execution_repository.CeleryWorkflowExecutionRepository
|
||||||
|
# - extensions.logstore.repositories.logstore_workflow_execution_repository.LogstoreWorkflowExecutionRepository
|
||||||
CORE_WORKFLOW_EXECUTION_REPOSITORY=core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository
|
CORE_WORKFLOW_EXECUTION_REPOSITORY=core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository
|
||||||
|
|
||||||
# Core workflow node execution repository implementation
|
# Core workflow node execution repository implementation
|
||||||
# Options:
|
# Options:
|
||||||
# - core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository (default)
|
# - core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository (default)
|
||||||
# - core.repositories.celery_workflow_node_execution_repository.CeleryWorkflowNodeExecutionRepository
|
# - core.repositories.celery_workflow_node_execution_repository.CeleryWorkflowNodeExecutionRepository
|
||||||
|
# - extensions.logstore.repositories.logstore_workflow_node_execution_repository.LogstoreWorkflowNodeExecutionRepository
|
||||||
CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY=core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository
|
CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY=core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository
|
||||||
|
|
||||||
# API workflow run repository implementation
|
# API workflow run repository implementation
|
||||||
|
# Options:
|
||||||
|
# - repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository (default)
|
||||||
|
# - extensions.logstore.repositories.logstore_api_workflow_run_repository.LogstoreAPIWorkflowRunRepository
|
||||||
API_WORKFLOW_RUN_REPOSITORY=repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository
|
API_WORKFLOW_RUN_REPOSITORY=repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository
|
||||||
|
|
||||||
# API workflow node execution repository implementation
|
# API workflow node execution repository implementation
|
||||||
|
# Options:
|
||||||
|
# - repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository (default)
|
||||||
|
# - extensions.logstore.repositories.logstore_api_workflow_node_execution_repository.LogstoreAPIWorkflowNodeExecutionRepository
|
||||||
API_WORKFLOW_NODE_EXECUTION_REPOSITORY=repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository
|
API_WORKFLOW_NODE_EXECUTION_REPOSITORY=repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository
|
||||||
|
|
||||||
# Workflow log cleanup configuration
|
# Workflow log cleanup configuration
|
||||||
@@ -1066,6 +1087,10 @@ LOGSTORE_DUAL_WRITE_ENABLED=false
|
|||||||
# Enable dual-read fallback to SQL database when LogStore returns no results (default: true)
|
# Enable dual-read fallback to SQL database when LogStore returns no results (default: true)
|
||||||
# Useful for migration scenarios where historical data exists only in SQL database
|
# Useful for migration scenarios where historical data exists only in SQL database
|
||||||
LOGSTORE_DUAL_READ_ENABLED=true
|
LOGSTORE_DUAL_READ_ENABLED=true
|
||||||
|
# Control flag for whether to write the `graph` field to LogStore.
|
||||||
|
# If LOGSTORE_ENABLE_PUT_GRAPH_FIELD is "true", write the full `graph` field;
|
||||||
|
# otherwise write an empty {} instead. Defaults to writing the `graph` field.
|
||||||
|
LOGSTORE_ENABLE_PUT_GRAPH_FIELD=true
|
||||||
|
|
||||||
# HTTP request node in workflow configuration
|
# HTTP request node in workflow configuration
|
||||||
HTTP_REQUEST_NODE_MAX_BINARY_SIZE=10485760
|
HTTP_REQUEST_NODE_MAX_BINARY_SIZE=10485760
|
||||||
@@ -1463,6 +1488,7 @@ ENABLE_CLEAN_UNUSED_DATASETS_TASK=false
|
|||||||
ENABLE_CREATE_TIDB_SERVERLESS_TASK=false
|
ENABLE_CREATE_TIDB_SERVERLESS_TASK=false
|
||||||
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK=false
|
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK=false
|
||||||
ENABLE_CLEAN_MESSAGES=false
|
ENABLE_CLEAN_MESSAGES=false
|
||||||
|
ENABLE_WORKFLOW_RUN_CLEANUP_TASK=false
|
||||||
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK=false
|
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK=false
|
||||||
ENABLE_DATASETS_QUEUE_MONITOR=false
|
ENABLE_DATASETS_QUEUE_MONITOR=false
|
||||||
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK=true
|
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK=true
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ services:
|
|||||||
|
|
||||||
# API service
|
# API service
|
||||||
api:
|
api:
|
||||||
image: langgenius/dify-api:1.11.2
|
image: langgenius/dify-api:1.11.4
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
# Use the shared environment variables.
|
# Use the shared environment variables.
|
||||||
@@ -63,7 +63,7 @@ services:
|
|||||||
# worker service
|
# worker service
|
||||||
# The Celery worker for processing all queues (dataset, workflow, mail, etc.)
|
# The Celery worker for processing all queues (dataset, workflow, mail, etc.)
|
||||||
worker:
|
worker:
|
||||||
image: langgenius/dify-api:1.11.2
|
image: langgenius/dify-api:1.11.4
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
# Use the shared environment variables.
|
# Use the shared environment variables.
|
||||||
@@ -102,7 +102,7 @@ services:
|
|||||||
# worker_beat service
|
# worker_beat service
|
||||||
# Celery beat for scheduling periodic tasks.
|
# Celery beat for scheduling periodic tasks.
|
||||||
worker_beat:
|
worker_beat:
|
||||||
image: langgenius/dify-api:1.11.2
|
image: langgenius/dify-api:1.11.4
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
# Use the shared environment variables.
|
# Use the shared environment variables.
|
||||||
@@ -132,7 +132,7 @@ services:
|
|||||||
|
|
||||||
# Frontend web application.
|
# Frontend web application.
|
||||||
web:
|
web:
|
||||||
image: langgenius/dify-web:1.11.2
|
image: langgenius/dify-web:1.11.4
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
|
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
|
||||||
@@ -475,7 +475,8 @@ services:
|
|||||||
OB_CLUSTER_NAME: ${OCEANBASE_CLUSTER_NAME:-difyai}
|
OB_CLUSTER_NAME: ${OCEANBASE_CLUSTER_NAME:-difyai}
|
||||||
OB_SERVER_IP: 127.0.0.1
|
OB_SERVER_IP: 127.0.0.1
|
||||||
MODE: mini
|
MODE: mini
|
||||||
LANG: en_US.UTF-8
|
LANG: C.UTF-8
|
||||||
|
LC_ALL: C.UTF-8
|
||||||
ports:
|
ports:
|
||||||
- "${OCEANBASE_VECTOR_PORT:-2881}:2881"
|
- "${OCEANBASE_VECTOR_PORT:-2881}:2881"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
|||||||
@@ -129,6 +129,7 @@ services:
|
|||||||
- ./middleware.env
|
- ./middleware.env
|
||||||
environment:
|
environment:
|
||||||
# Use the shared environment variables.
|
# Use the shared environment variables.
|
||||||
|
LOG_OUTPUT_FORMAT: ${LOG_OUTPUT_FORMAT:-text}
|
||||||
DB_DATABASE: ${DB_PLUGIN_DATABASE:-dify_plugin}
|
DB_DATABASE: ${DB_PLUGIN_DATABASE:-dify_plugin}
|
||||||
REDIS_HOST: ${REDIS_HOST:-redis}
|
REDIS_HOST: ${REDIS_HOST:-redis}
|
||||||
REDIS_PORT: ${REDIS_PORT:-6379}
|
REDIS_PORT: ${REDIS_PORT:-6379}
|
||||||
|
|||||||
@@ -13,10 +13,11 @@ x-shared-env: &shared-api-worker-env
|
|||||||
APP_WEB_URL: ${APP_WEB_URL:-}
|
APP_WEB_URL: ${APP_WEB_URL:-}
|
||||||
FILES_URL: ${FILES_URL:-}
|
FILES_URL: ${FILES_URL:-}
|
||||||
INTERNAL_FILES_URL: ${INTERNAL_FILES_URL:-}
|
INTERNAL_FILES_URL: ${INTERNAL_FILES_URL:-}
|
||||||
LANG: ${LANG:-en_US.UTF-8}
|
LANG: ${LANG:-C.UTF-8}
|
||||||
LC_ALL: ${LC_ALL:-en_US.UTF-8}
|
LC_ALL: ${LC_ALL:-C.UTF-8}
|
||||||
PYTHONIOENCODING: ${PYTHONIOENCODING:-utf-8}
|
PYTHONIOENCODING: ${PYTHONIOENCODING:-utf-8}
|
||||||
LOG_LEVEL: ${LOG_LEVEL:-INFO}
|
LOG_LEVEL: ${LOG_LEVEL:-INFO}
|
||||||
|
LOG_OUTPUT_FORMAT: ${LOG_OUTPUT_FORMAT:-text}
|
||||||
LOG_FILE: ${LOG_FILE:-/app/logs/server.log}
|
LOG_FILE: ${LOG_FILE:-/app/logs/server.log}
|
||||||
LOG_FILE_MAX_SIZE: ${LOG_FILE_MAX_SIZE:-20}
|
LOG_FILE_MAX_SIZE: ${LOG_FILE_MAX_SIZE:-20}
|
||||||
LOG_FILE_BACKUP_COUNT: ${LOG_FILE_BACKUP_COUNT:-5}
|
LOG_FILE_BACKUP_COUNT: ${LOG_FILE_BACKUP_COUNT:-5}
|
||||||
@@ -122,6 +123,13 @@ x-shared-env: &shared-api-worker-env
|
|||||||
S3_ACCESS_KEY: ${S3_ACCESS_KEY:-}
|
S3_ACCESS_KEY: ${S3_ACCESS_KEY:-}
|
||||||
S3_SECRET_KEY: ${S3_SECRET_KEY:-}
|
S3_SECRET_KEY: ${S3_SECRET_KEY:-}
|
||||||
S3_USE_AWS_MANAGED_IAM: ${S3_USE_AWS_MANAGED_IAM:-false}
|
S3_USE_AWS_MANAGED_IAM: ${S3_USE_AWS_MANAGED_IAM:-false}
|
||||||
|
ARCHIVE_STORAGE_ENABLED: ${ARCHIVE_STORAGE_ENABLED:-false}
|
||||||
|
ARCHIVE_STORAGE_ENDPOINT: ${ARCHIVE_STORAGE_ENDPOINT:-}
|
||||||
|
ARCHIVE_STORAGE_ARCHIVE_BUCKET: ${ARCHIVE_STORAGE_ARCHIVE_BUCKET:-}
|
||||||
|
ARCHIVE_STORAGE_EXPORT_BUCKET: ${ARCHIVE_STORAGE_EXPORT_BUCKET:-}
|
||||||
|
ARCHIVE_STORAGE_ACCESS_KEY: ${ARCHIVE_STORAGE_ACCESS_KEY:-}
|
||||||
|
ARCHIVE_STORAGE_SECRET_KEY: ${ARCHIVE_STORAGE_SECRET_KEY:-}
|
||||||
|
ARCHIVE_STORAGE_REGION: ${ARCHIVE_STORAGE_REGION:-auto}
|
||||||
AZURE_BLOB_ACCOUNT_NAME: ${AZURE_BLOB_ACCOUNT_NAME:-difyai}
|
AZURE_BLOB_ACCOUNT_NAME: ${AZURE_BLOB_ACCOUNT_NAME:-difyai}
|
||||||
AZURE_BLOB_ACCOUNT_KEY: ${AZURE_BLOB_ACCOUNT_KEY:-difyai}
|
AZURE_BLOB_ACCOUNT_KEY: ${AZURE_BLOB_ACCOUNT_KEY:-difyai}
|
||||||
AZURE_BLOB_CONTAINER_NAME: ${AZURE_BLOB_CONTAINER_NAME:-difyai-container}
|
AZURE_BLOB_CONTAINER_NAME: ${AZURE_BLOB_CONTAINER_NAME:-difyai-container}
|
||||||
@@ -417,6 +425,7 @@ x-shared-env: &shared-api-worker-env
|
|||||||
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
|
SMTP_PASSWORD: ${SMTP_PASSWORD:-}
|
||||||
SMTP_USE_TLS: ${SMTP_USE_TLS:-true}
|
SMTP_USE_TLS: ${SMTP_USE_TLS:-true}
|
||||||
SMTP_OPPORTUNISTIC_TLS: ${SMTP_OPPORTUNISTIC_TLS:-false}
|
SMTP_OPPORTUNISTIC_TLS: ${SMTP_OPPORTUNISTIC_TLS:-false}
|
||||||
|
SMTP_LOCAL_HOSTNAME: ${SMTP_LOCAL_HOSTNAME:-}
|
||||||
SENDGRID_API_KEY: ${SENDGRID_API_KEY:-}
|
SENDGRID_API_KEY: ${SENDGRID_API_KEY:-}
|
||||||
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: ${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH:-4000}
|
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: ${INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH:-4000}
|
||||||
INVITE_EXPIRY_HOURS: ${INVITE_EXPIRY_HOURS:-72}
|
INVITE_EXPIRY_HOURS: ${INVITE_EXPIRY_HOURS:-72}
|
||||||
@@ -467,6 +476,7 @@ x-shared-env: &shared-api-worker-env
|
|||||||
ALIYUN_SLS_LOGSTORE_TTL: ${ALIYUN_SLS_LOGSTORE_TTL:-365}
|
ALIYUN_SLS_LOGSTORE_TTL: ${ALIYUN_SLS_LOGSTORE_TTL:-365}
|
||||||
LOGSTORE_DUAL_WRITE_ENABLED: ${LOGSTORE_DUAL_WRITE_ENABLED:-false}
|
LOGSTORE_DUAL_WRITE_ENABLED: ${LOGSTORE_DUAL_WRITE_ENABLED:-false}
|
||||||
LOGSTORE_DUAL_READ_ENABLED: ${LOGSTORE_DUAL_READ_ENABLED:-true}
|
LOGSTORE_DUAL_READ_ENABLED: ${LOGSTORE_DUAL_READ_ENABLED:-true}
|
||||||
|
LOGSTORE_ENABLE_PUT_GRAPH_FIELD: ${LOGSTORE_ENABLE_PUT_GRAPH_FIELD:-true}
|
||||||
HTTP_REQUEST_NODE_MAX_BINARY_SIZE: ${HTTP_REQUEST_NODE_MAX_BINARY_SIZE:-10485760}
|
HTTP_REQUEST_NODE_MAX_BINARY_SIZE: ${HTTP_REQUEST_NODE_MAX_BINARY_SIZE:-10485760}
|
||||||
HTTP_REQUEST_NODE_MAX_TEXT_SIZE: ${HTTP_REQUEST_NODE_MAX_TEXT_SIZE:-1048576}
|
HTTP_REQUEST_NODE_MAX_TEXT_SIZE: ${HTTP_REQUEST_NODE_MAX_TEXT_SIZE:-1048576}
|
||||||
HTTP_REQUEST_NODE_SSL_VERIFY: ${HTTP_REQUEST_NODE_SSL_VERIFY:-True}
|
HTTP_REQUEST_NODE_SSL_VERIFY: ${HTTP_REQUEST_NODE_SSL_VERIFY:-True}
|
||||||
@@ -653,6 +663,7 @@ x-shared-env: &shared-api-worker-env
|
|||||||
ENABLE_CREATE_TIDB_SERVERLESS_TASK: ${ENABLE_CREATE_TIDB_SERVERLESS_TASK:-false}
|
ENABLE_CREATE_TIDB_SERVERLESS_TASK: ${ENABLE_CREATE_TIDB_SERVERLESS_TASK:-false}
|
||||||
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK: ${ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK:-false}
|
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK: ${ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK:-false}
|
||||||
ENABLE_CLEAN_MESSAGES: ${ENABLE_CLEAN_MESSAGES:-false}
|
ENABLE_CLEAN_MESSAGES: ${ENABLE_CLEAN_MESSAGES:-false}
|
||||||
|
ENABLE_WORKFLOW_RUN_CLEANUP_TASK: ${ENABLE_WORKFLOW_RUN_CLEANUP_TASK:-false}
|
||||||
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK: ${ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK:-false}
|
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK: ${ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK:-false}
|
||||||
ENABLE_DATASETS_QUEUE_MONITOR: ${ENABLE_DATASETS_QUEUE_MONITOR:-false}
|
ENABLE_DATASETS_QUEUE_MONITOR: ${ENABLE_DATASETS_QUEUE_MONITOR:-false}
|
||||||
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK: ${ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK:-true}
|
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK: ${ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK:-true}
|
||||||
@@ -694,7 +705,7 @@ services:
|
|||||||
|
|
||||||
# API service
|
# API service
|
||||||
api:
|
api:
|
||||||
image: langgenius/dify-api:1.11.2
|
image: langgenius/dify-api:1.11.4
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
# Use the shared environment variables.
|
# Use the shared environment variables.
|
||||||
@@ -736,7 +747,7 @@ services:
|
|||||||
# worker service
|
# worker service
|
||||||
# The Celery worker for processing all queues (dataset, workflow, mail, etc.)
|
# The Celery worker for processing all queues (dataset, workflow, mail, etc.)
|
||||||
worker:
|
worker:
|
||||||
image: langgenius/dify-api:1.11.2
|
image: langgenius/dify-api:1.11.4
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
# Use the shared environment variables.
|
# Use the shared environment variables.
|
||||||
@@ -775,7 +786,7 @@ services:
|
|||||||
# worker_beat service
|
# worker_beat service
|
||||||
# Celery beat for scheduling periodic tasks.
|
# Celery beat for scheduling periodic tasks.
|
||||||
worker_beat:
|
worker_beat:
|
||||||
image: langgenius/dify-api:1.11.2
|
image: langgenius/dify-api:1.11.4
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
# Use the shared environment variables.
|
# Use the shared environment variables.
|
||||||
@@ -805,7 +816,7 @@ services:
|
|||||||
|
|
||||||
# Frontend web application.
|
# Frontend web application.
|
||||||
web:
|
web:
|
||||||
image: langgenius/dify-web:1.11.2
|
image: langgenius/dify-web:1.11.4
|
||||||
restart: always
|
restart: always
|
||||||
environment:
|
environment:
|
||||||
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
|
CONSOLE_API_URL: ${CONSOLE_API_URL:-}
|
||||||
@@ -1146,7 +1157,8 @@ services:
|
|||||||
OB_CLUSTER_NAME: ${OCEANBASE_CLUSTER_NAME:-difyai}
|
OB_CLUSTER_NAME: ${OCEANBASE_CLUSTER_NAME:-difyai}
|
||||||
OB_SERVER_IP: 127.0.0.1
|
OB_SERVER_IP: 127.0.0.1
|
||||||
MODE: mini
|
MODE: mini
|
||||||
LANG: en_US.UTF-8
|
LANG: C.UTF-8
|
||||||
|
LC_ALL: C.UTF-8
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test:
|
test:
|
||||||
[
|
[
|
||||||
|
|||||||
@@ -234,3 +234,7 @@ LOGSTORE_DUAL_WRITE_ENABLED=true
|
|||||||
# Enable dual-read fallback to SQL database when LogStore returns no results (default: true)
|
# Enable dual-read fallback to SQL database when LogStore returns no results (default: true)
|
||||||
# Useful for migration scenarios where historical data exists only in SQL database
|
# Useful for migration scenarios where historical data exists only in SQL database
|
||||||
LOGSTORE_DUAL_READ_ENABLED=true
|
LOGSTORE_DUAL_READ_ENABLED=true
|
||||||
|
# Control flag for whether to write the `graph` field to LogStore.
|
||||||
|
# If LOGSTORE_ENABLE_PUT_GRAPH_FIELD is "true", write the full `graph` field;
|
||||||
|
# otherwise write an empty {} instead. Defaults to writing the `graph` field.
|
||||||
|
LOGSTORE_ENABLE_PUT_GRAPH_FIELD=true
|
||||||
@@ -54,3 +54,52 @@ http_access allow src_all
|
|||||||
|
|
||||||
# Unless the option's size is increased, an error will occur when uploading more than two files.
|
# Unless the option's size is increased, an error will occur when uploading more than two files.
|
||||||
client_request_buffer_max_size 100 MB
|
client_request_buffer_max_size 100 MB
|
||||||
|
|
||||||
|
################################## Performance & Concurrency ###############################
|
||||||
|
# Increase file descriptor limit for high concurrency
|
||||||
|
max_filedescriptors 65536
|
||||||
|
|
||||||
|
# Timeout configurations for image requests
|
||||||
|
connect_timeout 30 seconds
|
||||||
|
request_timeout 2 minutes
|
||||||
|
read_timeout 2 minutes
|
||||||
|
client_lifetime 5 minutes
|
||||||
|
shutdown_lifetime 30 seconds
|
||||||
|
|
||||||
|
# Persistent connections - improve performance for multiple requests
|
||||||
|
server_persistent_connections on
|
||||||
|
client_persistent_connections on
|
||||||
|
persistent_request_timeout 30 seconds
|
||||||
|
pconn_timeout 1 minute
|
||||||
|
|
||||||
|
# Connection pool and concurrency limits
|
||||||
|
client_db on
|
||||||
|
server_idle_pconn_timeout 2 minutes
|
||||||
|
client_idle_pconn_timeout 2 minutes
|
||||||
|
|
||||||
|
# Quick abort settings - don't abort requests that are mostly done
|
||||||
|
quick_abort_min 16 KB
|
||||||
|
quick_abort_max 16 MB
|
||||||
|
quick_abort_pct 95
|
||||||
|
|
||||||
|
# Memory and cache optimization
|
||||||
|
memory_cache_mode disk
|
||||||
|
cache_mem 256 MB
|
||||||
|
maximum_object_size_in_memory 512 KB
|
||||||
|
|
||||||
|
# DNS resolver settings for better performance
|
||||||
|
dns_timeout 30 seconds
|
||||||
|
dns_retransmit_interval 5 seconds
|
||||||
|
# By default, Squid uses the system's configured DNS resolvers.
|
||||||
|
# If you need to override them, set dns_nameservers to appropriate servers
|
||||||
|
# for your environment (for example, internal/corporate DNS). The following
|
||||||
|
# is an example using public DNS and SHOULD be customized before use:
|
||||||
|
# dns_nameservers 8.8.8.8 8.8.4.4
|
||||||
|
|
||||||
|
# Logging format for better debugging
|
||||||
|
logformat dify_log %ts.%03tu %6tr %>a %Ss/%03>Hs %<st %rm %ru %[un %Sh/%<a %mt
|
||||||
|
access_log daemon:/var/log/squid/access.log dify_log
|
||||||
|
|
||||||
|
# Access log to track concurrent requests and timeouts
|
||||||
|
logfile_rotate 10
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user