2023-05-15 08:51:32 +08:00
# Your App secret key will be used for securely signing the session cookie
# 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`.
# Alternatively you can set it with `SECRET_KEY` environment variable.
SECRET_KEY=
2025-07-27 06:49:13 +05:30
# Ensure UTF-8 encoding
LANG=en_US.UTF-8
LC_ALL=en_US.UTF-8
PYTHONIOENCODING=utf-8
2023-05-15 08:51:32 +08:00
# Console API base URL
2025-07-17 17:18:44 +08:00
CONSOLE_API_URL=http://localhost:5001
CONSOLE_WEB_URL=http://localhost:3000
2023-05-15 08:51:32 +08:00
# Service API base URL
2025-07-17 17:18:44 +08:00
SERVICE_API_URL=http://localhost:5001
2023-07-14 11:19:26 +08:00
2023-08-13 17:32:23 +08:00
# Web APP base URL
2025-07-17 17:18:44 +08:00
APP_WEB_URL=http://localhost:3000
2023-05-15 08:51:32 +08:00
2023-11-13 22:05:46 +08:00
# Files URL
2025-07-17 17:18:44 +08:00
FILES_URL=http://localhost:5001
2023-11-13 22:05:46 +08:00
2025-07-11 09:41:59 +05:30
# INTERNAL_FILES_URL is used for plugin daemon communication within Docker network.
# Set this to the internal Docker service URL for proper plugin file access.
# Example: INTERNAL_FILES_URL=http://api:5001
INTERNAL_FILES_URL=http://127.0.0.1:5001
2025-11-12 17:59:37 +08:00
# TRIGGER URL
TRIGGER_URL=http://localhost:5001
2024-05-27 16:20:49 +02:00
# The time in seconds after the signature is rejected
FILES_ACCESS_TIMEOUT=300
2024-10-12 23:46:30 +08:00
# Access token expiration time in minutes
ACCESS_TOKEN_EXPIRE_MINUTES=60
2025-01-04 11:56:44 +08:00
# Refresh token expiration time in days
REFRESH_TOKEN_EXPIRE_DAYS=30
2023-05-15 08:51:32 +08:00
# redis configuration
REDIS_HOST=localhost
REDIS_PORT=6379
2023-06-19 22:14:47 +08:00
REDIS_USERNAME=
2023-05-15 08:51:32 +08:00
REDIS_PASSWORD=difyai123456
2024-10-25 17:16:07 +08:00
REDIS_USE_SSL=false
2025-08-18 10:59:07 +08:00
# SSL configuration for Redis (when REDIS_USE_SSL=true)
REDIS_SSL_CERT_REQS=CERT_NONE
# Options: CERT_NONE, CERT_OPTIONAL, CERT_REQUIRED
REDIS_SSL_CA_CERTS=
# Path to CA certificate file for SSL verification
REDIS_SSL_CERTFILE=
# Path to client certificate file for SSL authentication
REDIS_SSL_KEYFILE=
# Path to client private key file for SSL authentication
2023-05-15 08:51:32 +08:00
REDIS_DB=0
2024-10-25 17:16:07 +08:00
# redis Sentinel configuration.
REDIS_USE_SENTINEL=false
REDIS_SENTINELS=
REDIS_SENTINEL_SERVICE_NAME=
REDIS_SENTINEL_USERNAME=
REDIS_SENTINEL_PASSWORD=
REDIS_SENTINEL_SOCKET_TIMEOUT=0.1
2024-11-20 13:44:35 +08:00
# redis Cluster configuration.
REDIS_USE_CLUSTERS=false
REDIS_CLUSTERS=
REDIS_CLUSTERS_PASSWORD=
2025-03-21 21:34:07 +08:00
# celery configuration
CELERY_BROKER_URL=redis://:difyai123456@localhost:${REDIS_PORT}/1
2025-07-18 09:41:09 +08:00
CELERY_BACKEND=redis
2023-05-15 08:51:32 +08:00
# PostgreSQL database configuration
DB_USERNAME=postgres
DB_PASSWORD=difyai123456
DB_HOST=localhost
DB_PORT=5432
DB_DATABASE=dify
2025-09-03 22:44:22 +08:00
SQLALCHEMY_POOL_PRE_PING=true
2025-09-18 13:43:56 +05:30
SQLALCHEMY_POOL_TIMEOUT=30
2023-05-15 08:51:32 +08:00
# Storage configuration
# use for store upload files, private keys...
2024-12-11 14:50:54 +08:00
# storage type: opendal, s3, aliyun-oss, azure-blob, baidu-obs, google-storage, huawei-obs, oci-storage, tencent-cos, volcengine-tos, supabase
STORAGE_TYPE=opendal
# Apache OpenDAL storage configuration, refer to https://github.com/apache/opendal
2024-12-18 09:05:54 +08:00
OPENDAL_SCHEME=fs
2024-12-11 14:50:54 +08:00
OPENDAL_FS_ROOT=storage
# S3 Storage configuration
2024-06-14 15:19:59 +08:00
S3_USE_AWS_MANAGED_IAM=false
2024-12-25 12:00:45 +09:00
S3_ENDPOINT=https://your-bucket-name.storage.s3.cloudflare.com
2023-05-15 08:51:32 +08:00
S3_BUCKET_NAME=your-bucket-name
S3_ACCESS_KEY=your-access-key
S3_SECRET_KEY=your-secret-key
S3_REGION=your-region
2024-12-11 14:50:54 +08:00
2024-03-20 20:49:58 +08:00
# Azure Blob Storage configuration
AZURE_BLOB_ACCOUNT_NAME=your-account-name
AZURE_BLOB_ACCOUNT_KEY=your-account-key
2024-12-25 12:00:45 +09:00
AZURE_BLOB_CONTAINER_NAME=your-container-name
2024-03-20 20:49:58 +08:00
AZURE_BLOB_ACCOUNT_URL=https://<your_account_name>.blob.core.windows.net
2024-12-11 14:50:54 +08:00
2024-04-25 16:57:19 +08:00
# Aliyun oss Storage configuration
ALIYUN_OSS_BUCKET_NAME=your-bucket-name
ALIYUN_OSS_ACCESS_KEY=your-access-key
ALIYUN_OSS_SECRET_KEY=your-secret-key
ALIYUN_OSS_ENDPOINT=your-endpoint
2024-05-06 11:56:04 +08:00
ALIYUN_OSS_AUTH_VERSION=v1
ALIYUN_OSS_REGION=your-region
2024-09-01 21:30:17 +08:00
# Don't start with '/'. OSS doesn't support leading slash in object names.
ALIYUN_OSS_PATH=your-path
2024-12-11 14:50:54 +08:00
2024-04-27 17:26:52 +07:00
# Google Storage configuration
2024-12-25 12:00:45 +09:00
GOOGLE_STORAGE_BUCKET_NAME=your-bucket-name
2024-06-26 07:54:22 +08:00
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64=your-google-service-account-json-base64-string
2023-05-15 08:51:32 +08:00
2024-06-17 19:18:52 +08:00
# Tencent COS Storage configuration
TENCENT_COS_BUCKET_NAME=your-bucket-name
TENCENT_COS_SECRET_KEY=your-secret-key
TENCENT_COS_SECRET_ID=your-secret-id
TENCENT_COS_REGION=your-region
TENCENT_COS_SCHEME=your-scheme
2024-09-06 14:00:47 +08:00
# Huawei OBS Storage Configuration
HUAWEI_OBS_BUCKET_NAME=your-bucket-name
HUAWEI_OBS_SECRET_KEY=your-secret-key
HUAWEI_OBS_ACCESS_KEY=your-access-key
HUAWEI_OBS_SERVER=your-server-url
2024-10-07 11:09:27 +08:00
# Baidu OBS Storage Configuration
BAIDU_OBS_BUCKET_NAME=your-bucket-name
BAIDU_OBS_SECRET_KEY=your-secret-key
BAIDU_OBS_ACCESS_KEY=your-access-key
BAIDU_OBS_ENDPOINT=your-server-url
2024-07-01 17:21:44 +08:00
# OCI Storage configuration
OCI_ENDPOINT=your-endpoint
OCI_BUCKET_NAME=your-bucket-name
OCI_ACCESS_KEY=your-access-key
OCI_SECRET_KEY=your-secret-key
OCI_REGION=your-region
2024-09-10 09:19:47 +08:00
# Volcengine tos Storage configuration
VOLCENGINE_TOS_ENDPOINT=your-endpoint
VOLCENGINE_TOS_BUCKET_NAME=your-bucket-name
VOLCENGINE_TOS_ACCESS_KEY=your-access-key
VOLCENGINE_TOS_SECRET_KEY=your-secret-key
VOLCENGINE_TOS_REGION=your-region
2024-10-11 22:48:57 +08:00
# Supabase Storage Configuration
SUPABASE_BUCKET_NAME=your-bucket-name
SUPABASE_API_KEY=your-access-key
SUPABASE_URL=your-server-url
2023-05-15 08:51:32 +08:00
# CORS configuration
2025-07-17 17:18:44 +08:00
WEB_API_CORS_ALLOW_ORIGINS=http://localhost:3000,*
CONSOLE_CORS_ALLOW_ORIGINS=http://localhost:3000,*
2025-11-18 17:29:54 +08:00
# When the frontend and backend run on different subdomains, set COOKIE_DOMAIN to the site’ s top-level domain (e.g., `example.com`). Leading dots are optional.
2025-10-28 10:04:24 +08:00
COOKIE_DOMAIN=
2023-05-15 08:51:32 +08:00
2024-12-11 14:50:54 +08:00
# Vector database configuration
2025-07-18 13:54:48 +08:00
# Supported values are `weaviate`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `oceanbase`, `opengauss`, `tablestore`,`vastbase`,`tidb`,`tidb_on_qdrant`,`baidu`,`lindorm`,`huawei_cloud`,`upstash`, `matrixone`.
2023-05-15 08:51:32 +08:00
VECTOR_STORE=weaviate
2025-07-20 08:40:08 +05:30
# Prefix used to create collection name in vector database
VECTOR_INDEX_NAME_PREFIX=Vector_index
2023-05-15 08:51:32 +08:00
# Weaviate configuration
WEAVIATE_ENDPOINT=http://localhost:8080
WEAVIATE_API_KEY=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_GRPC_ENABLED=false
2023-06-13 14:49:40 +08:00
WEAVIATE_BATCH_SIZE=100
2023-05-15 08:51:32 +08:00
2023-10-08 12:04:04 -05:00
# 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
2024-01-04 10:58:47 +08:00
QDRANT_CLIENT_TIMEOUT=20
2024-04-28 15:33:32 +08:00
QDRANT_GRPC_ENABLED=false
QDRANT_GRPC_PORT=6334
2025-05-27 14:46:04 +08:00
QDRANT_REPLICATION_FACTOR=1
2023-05-15 08:51:32 +08:00
2024-10-29 03:00:23 -04:00
#Couchbase configuration
COUCHBASE_CONNECTION_STRING=127.0.0.1
COUCHBASE_USER=Administrator
COUCHBASE_PASSWORD=password
COUCHBASE_BUCKET_NAME=Embeddings
COUCHBASE_SCOPE_NAME=_default
2023-10-10 21:56:24 +08:00
# Milvus configuration
2024-09-06 17:32:48 +08:00
MILVUS_URI=http://127.0.0.1:19530
MILVUS_TOKEN=
2023-10-10 21:56:24 +08:00
MILVUS_USER=root
MILVUS_PASSWORD=Milvus
2025-04-17 10:38:56 +08:00
MILVUS_ANALYZER_PARAMS=
2023-10-10 21:56:24 +08:00
2024-07-11 15:21:59 +08:00
# MyScale configuration
MYSCALE_HOST=127.0.0.1
MYSCALE_PORT=8123
MYSCALE_USER=default
MYSCALE_PASSWORD=
MYSCALE_DATABASE=default
MYSCALE_FTS_PARAMS=
2024-04-15 11:52:34 +08:00
# Relyt configuration
RELYT_HOST=127.0.0.1
RELYT_PORT=5432
RELYT_USER=postgres
RELYT_PASSWORD=postgres
RELYT_DATABASE=postgres
2024-06-14 19:25:17 +08:00
# Tencent configuration
TENCENT_VECTOR_DB_URL=http://127.0.0.1
TENCENT_VECTOR_DB_API_KEY=dify
TENCENT_VECTOR_DB_TIMEOUT=30
TENCENT_VECTOR_DB_USERNAME=dify
TENCENT_VECTOR_DB_DATABASE=dify
TENCENT_VECTOR_DB_SHARD=1
TENCENT_VECTOR_DB_REPLICAS=2
2025-04-07 09:50:03 +08:00
TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH=false
2024-06-14 19:25:17 +08:00
2024-08-13 16:36:20 +07:00
# ElasticSearch configuration
ELASTICSEARCH_HOST=127.0.0.1
ELASTICSEARCH_PORT=9200
ELASTICSEARCH_USERNAME=elastic
ELASTICSEARCH_PASSWORD=elastic
2024-04-29 11:58:17 +08:00
# PGVECTO_RS configuration
PGVECTO_RS_HOST=localhost
PGVECTO_RS_PORT=5431
PGVECTO_RS_USER=postgres
PGVECTO_RS_PASSWORD=difyai123456
PGVECTO_RS_DATABASE=postgres
2024-05-10 17:20:30 +08:00
# PGVector configuration
PGVECTOR_HOST=127.0.0.1
PGVECTOR_PORT=5433
PGVECTOR_USER=postgres
PGVECTOR_PASSWORD=postgres
PGVECTOR_DATABASE=postgres
2024-09-27 18:16:20 +08:00
PGVECTOR_MIN_CONNECTION=1
PGVECTOR_MAX_CONNECTION=5
2024-05-10 17:20:30 +08:00
2025-03-27 15:53:33 +08:00
# TableStore Vector configuration
TABLESTORE_ENDPOINT=https://instance-name.cn-hangzhou.ots.aliyuncs.com
TABLESTORE_INSTANCE_NAME=instance-name
TABLESTORE_ACCESS_KEY_ID=xxx
TABLESTORE_ACCESS_KEY_SECRET=xxx
2025-08-01 14:14:11 +08:00
TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCORE=false
2025-03-27 15:53:33 +08:00
2024-06-05 18:19:53 +08:00
# Tidb Vector configuration
TIDB_VECTOR_HOST=xxx.eu-central-1.xxx.aws.tidbcloud.com
TIDB_VECTOR_PORT=4000
TIDB_VECTOR_USER=xxx.root
TIDB_VECTOR_PASSWORD=xxxxxx
TIDB_VECTOR_DATABASE=dify
2024-10-29 21:11:10 +08:00
# Tidb on qdrant configuration
TIDB_ON_QDRANT_URL=http://127.0.0.1
TIDB_ON_QDRANT_API_KEY=dify
TIDB_ON_QDRANT_CLIENT_TIMEOUT=20
TIDB_ON_QDRANT_GRPC_ENABLED=false
TIDB_ON_QDRANT_GRPC_PORT=6334
TIDB_PUBLIC_KEY=dify
TIDB_PRIVATE_KEY=dify
TIDB_API_URL=http://127.0.0.1
TIDB_IAM_API_URL=http://127.0.0.1
TIDB_REGION=regions/aws-us-east-1
TIDB_PROJECT_ID=dify
TIDB_SPEND_LIMIT=100
2024-06-13 18:02:18 +08:00
# Chroma configuration
CHROMA_HOST=127.0.0.1
CHROMA_PORT=8000
CHROMA_TENANT=default_tenant
CHROMA_DATABASE=default_database
CHROMA_AUTH_PROVIDER=chromadb.auth.token_authn.TokenAuthenticationServerProvider
CHROMA_AUTH_CREDENTIALS=difyai123456
2024-07-09 13:32:04 +08:00
# AnalyticDB configuration
ANALYTICDB_KEY_ID=your-ak
ANALYTICDB_KEY_SECRET=your-sk
ANALYTICDB_REGION_ID=cn-hangzhou
ANALYTICDB_INSTANCE_ID=gp-ab123456
ANALYTICDB_ACCOUNT=testaccount
ANALYTICDB_PASSWORD=testpassword
ANALYTICDB_NAMESPACE=dify
ANALYTICDB_NAMESPACE_PASSWORD=difypassword
2024-11-18 19:29:54 +08:00
ANALYTICDB_HOST=gp-test.aliyuncs.com
ANALYTICDB_PORT=5432
ANALYTICDB_MIN_CONNECTION=1
ANALYTICDB_MAX_CONNECTION=5
2024-07-09 13:32:04 +08:00
2024-06-24 14:33:31 +08:00
# OpenSearch configuration
OPENSEARCH_HOST=127.0.0.1
OPENSEARCH_PORT=9200
OPENSEARCH_USER=admin
OPENSEARCH_PASSWORD=admin
OPENSEARCH_SECURE=true
2025-05-22 06:14:38 +04:00
OPENSEARCH_VERIFY_CERTS=true
2024-06-24 14:33:31 +08:00
2024-10-12 23:24:17 +08:00
# Baidu configuration
BAIDU_VECTOR_DB_ENDPOINT=http://127.0.0.1:5287
BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS=30000
BAIDU_VECTOR_DB_ACCOUNT=root
BAIDU_VECTOR_DB_API_KEY=dify
BAIDU_VECTOR_DB_DATABASE=dify
BAIDU_VECTOR_DB_SHARD=1
BAIDU_VECTOR_DB_REPLICAS=3
2025-09-22 10:17:35 +08:00
BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER=DEFAULT_ANALYZER
BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE=COARSE_MODE
2024-10-12 23:24:17 +08:00
2024-10-23 09:16:35 +08:00
# Upstash configuration
UPSTASH_VECTOR_URL=your-server-url
UPSTASH_VECTOR_TOKEN=your-access-token
2024-10-13 21:26:05 +08:00
# ViKingDB configuration
VIKINGDB_ACCESS_KEY=your-ak
VIKINGDB_SECRET_KEY=your-sk
VIKINGDB_REGION=cn-shanghai
VIKINGDB_HOST=api-vikingdb.xxx.volces.com
VIKINGDB_SCHEMA=http
VIKINGDB_CONNECTION_TIMEOUT=30
VIKINGDB_SOCKET_TIMEOUT=30
2025-06-19 10:20:12 +08:00
# Matrixone configration
MATRIXONE_HOST=127.0.0.1
MATRIXONE_PORT=6001
MATRIXONE_USER=dump
MATRIXONE_PASSWORD=111
MATRIXONE_DATABASE=dify
2024-11-04 09:10:26 +08:00
# Lindorm configuration
LINDORM_URL=http://ld-*******************-proxy-search-pub.lindorm.aliyuncs.com:30070
LINDORM_USERNAME=admin
LINDORM_PASSWORD=admin
2025-09-16 16:54:18 +08:00
LINDORM_USING_UGC=True
2025-04-25 09:42:58 +08:00
LINDORM_QUERY_TIMEOUT=1
2024-11-04 09:10:26 +08:00
2024-10-29 21:10:18 +08:00
# OceanBase Vector configuration
OCEANBASE_VECTOR_HOST=127.0.0.1
OCEANBASE_VECTOR_PORT=2881
OCEANBASE_VECTOR_USER=root@test
2024-11-07 13:22:09 +08:00
OCEANBASE_VECTOR_PASSWORD=difyai123456
2024-10-29 21:10:18 +08:00
OCEANBASE_VECTOR_DATABASE=test
OCEANBASE_MEMORY_LIMIT=6G
2025-03-25 14:32:00 +08:00
OCEANBASE_ENABLE_HYBRID_SEARCH=false
2024-10-29 21:10:18 +08:00
2025-10-11 10:47:28 +08:00
# AlibabaCloud MySQL Vector configuration
ALIBABACLOUD_MYSQL_HOST=127.0.0.1
ALIBABACLOUD_MYSQL_PORT=3306
ALIBABACLOUD_MYSQL_USER=root
ALIBABACLOUD_MYSQL_PASSWORD=root
ALIBABACLOUD_MYSQL_DATABASE=dify
ALIBABACLOUD_MYSQL_MAX_CONNECTION=5
ALIBABACLOUD_MYSQL_HNSW_M=6
2025-03-17 19:42:54 +08:00
# openGauss configuration
OPENGAUSS_HOST=127.0.0.1
OPENGAUSS_PORT=6600
OPENGAUSS_USER=postgres
OPENGAUSS_PASSWORD=Dify@123
OPENGAUSS_DATABASE=dify
OPENGAUSS_MIN_CONNECTION=1
OPENGAUSS_MAX_CONNECTION=5
2024-11-04 09:10:26 +08:00
2023-11-13 22:05:46 +08:00
# Upload configuration
UPLOAD_FILE_SIZE_LIMIT=15
UPLOAD_FILE_BATCH_LIMIT=5
UPLOAD_IMAGE_FILE_SIZE_LIMIT=10
2024-10-21 10:43:49 +08:00
UPLOAD_VIDEO_FILE_SIZE_LIMIT=100
UPLOAD_AUDIO_FILE_SIZE_LIMIT=50
2023-11-13 22:05:46 +08:00
2025-11-04 15:45:22 +08:00
# Comma-separated list of file extensions blocked from upload for security reasons.
# Extensions should be lowercase without dots (e.g., exe,bat,sh,dll).
# Empty by default to allow all file types.
# Recommended: exe,bat,cmd,com,scr,vbs,ps1,msi,dll
UPLOAD_FILE_EXTENSION_BLACKLIST=
2024-11-08 13:22:52 +08:00
# Model configuration
2024-12-17 15:01:38 +08:00
MULTIMODAL_SEND_FORMAT=base64
2024-07-26 11:20:23 +09:00
PROMPT_GENERATION_MAX_TOKENS=512
2024-10-22 22:57:54 +09:00
CODE_GENERATION_MAX_TOKENS=1024
2025-04-09 21:52:58 +09:00
PLUGIN_BASED_TOKEN_COUNTING_ENABLED=false
2023-11-13 22:05:46 +08:00
2025-06-18 23:27:38 -03:00
# Mail configuration, support: resend, smtp, sendgrid
2024-02-29 17:29:48 +08:00
MAIL_TYPE=
2025-06-18 23:27:38 -03:00
# If using SendGrid, use the 'from' field for authentication if necessary.
2023-07-14 11:19:26 +08:00
MAIL_DEFAULT_SEND_FROM=no-reply <no-reply@dify.ai>
2025-06-18 23:27:38 -03:00
# resend configuration
2023-07-14 11:19:26 +08:00
RESEND_API_KEY=
2024-01-10 18:15:02 +08:00
RESEND_API_URL=https://api.resend.com
2024-02-07 18:08:41 +08:00
# smtp configuration
SMTP_SERVER=smtp.gmail.com
2024-05-30 05:56:46 -05:00
SMTP_PORT=465
2024-02-07 18:08:41 +08:00
SMTP_USERNAME=123
SMTP_PASSWORD=abc
2024-05-30 05:56:46 -05:00
SMTP_USE_TLS=true
SMTP_OPPORTUNISTIC_TLS=false
2025-06-18 23:27:38 -03:00
# Sendgid configuration
SENDGRID_API_KEY=
2023-05-15 08:51:32 +08:00
# Sentry configuration
SENTRY_DSN=
# DEBUG
DEBUG=false
2025-05-17 17:31:09 +08:00
ENABLE_REQUEST_LOGGING=False
2023-05-15 08:51:32 +08:00
SQLALCHEMY_ECHO=false
2023-06-19 16:32:03 +08:00
# Notion import configuration, support public and internal
NOTION_INTEGRATION_TYPE=public
NOTION_CLIENT_SECRET=you-client-secret
NOTION_CLIENT_ID=you-client-id
2023-06-19 22:14:47 +08:00
NOTION_INTERNAL_SECRET=you-internal-secret
2023-08-12 00:57:00 +08:00
2023-12-18 23:24:06 +08:00
ETL_TYPE=dify
2024-02-05 18:48:30 +08:00
UNSTRUCTURED_API_URL=
2024-05-20 13:14:17 +08:00
UNSTRUCTURED_API_KEY=
2024-11-28 15:21:04 +08:00
SCARF_NO_ANALYTICS=true
2024-02-05 18:48:30 +08:00
2024-11-06 08:50:57 +08:00
#ssrf
2024-02-05 18:48:30 +08:00
SSRF_PROXY_HTTP_URL=
SSRF_PROXY_HTTPS_URL=
2024-07-25 13:10:39 +08:00
SSRF_DEFAULT_MAX_RETRIES=3
2024-11-08 09:33:12 +08:00
SSRF_DEFAULT_TIME_OUT=5
SSRF_DEFAULT_CONNECT_TIME_OUT=5
SSRF_DEFAULT_READ_TIME_OUT=5
SSRF_DEFAULT_WRITE_TIME_OUT=5
2025-09-24 22:14:50 +08:00
SSRF_POOL_MAX_CONNECTIONS=100
SSRF_POOL_MAX_KEEPALIVE_CONNECTIONS=20
SSRF_POOL_KEEPALIVE_EXPIRY=5.0
2024-02-22 17:16:22 +08:00
2024-02-29 17:29:48 +08:00
BATCH_UPLOAD_LIMIT=10
2024-04-08 18:51:46 +08:00
KEYWORD_DATA_SOURCE_TYPE=database
2024-11-04 15:55:34 +08:00
# Workflow file upload limit
WORKFLOW_FILE_UPLOAD_LIMIT=10
2024-04-08 18:51:46 +08:00
# CODE EXECUTION CONFIGURATION
CODE_EXECUTION_ENDPOINT=http://127.0.0.1:8194
CODE_EXECUTION_API_KEY=dify-sandbox
2025-09-24 22:14:50 +08:00
CODE_EXECUTION_SSL_VERIFY=True
CODE_EXECUTION_POOL_MAX_CONNECTIONS=100
CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS=20
CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY=5.0
2025-10-21 15:17:17 +08:00
CODE_EXECUTION_CONNECT_TIMEOUT=10
CODE_EXECUTION_READ_TIMEOUT=60
CODE_EXECUTION_WRITE_TIMEOUT=10
2024-04-08 18:51:46 +08:00
CODE_MAX_NUMBER=9223372036854775807
CODE_MIN_NUMBER=-9223372036854775808
2025-10-06 10:40:13 +08:00
CODE_MAX_STRING_LENGTH=400000
TEMPLATE_TRANSFORM_MAX_LENGTH=400000
2024-04-08 18:51:46 +08:00
CODE_MAX_STRING_ARRAY_LENGTH=30
CODE_MAX_OBJECT_ARRAY_LENGTH=30
CODE_MAX_NUMBER_ARRAY_LENGTH=1000
2024-04-12 17:46:39 +08:00
# API Tool configuration
API_TOOL_DEFAULT_CONNECT_TIMEOUT=10
API_TOOL_DEFAULT_READ_TIMEOUT=60
2024-04-24 21:55:14 +08:00
2024-04-29 13:59:07 +08:00
# HTTP Node configuration
HTTP_REQUEST_MAX_CONNECT_TIMEOUT=300
HTTP_REQUEST_MAX_READ_TIMEOUT=600
HTTP_REQUEST_MAX_WRITE_TIMEOUT=600
2024-08-21 20:25:45 +08:00
HTTP_REQUEST_NODE_MAX_BINARY_SIZE=10485760
HTTP_REQUEST_NODE_MAX_TEXT_SIZE=1048576
2025-03-14 11:05:37 +09:00
HTTP_REQUEST_NODE_SSL_VERIFY=True
2024-04-29 13:59:07 +08:00
2025-11-12 17:59:37 +08:00
# Webhook request configuration
WEBHOOK_REQUEST_BODY_MAX_SIZE=10485760
2024-10-09 15:42:30 +09:00
# Respect X-* headers to redirect clients
RESPECT_XFORWARD_HEADERS_ENABLED=false
2024-04-24 21:55:14 +08:00
# Log file path
2024-04-28 15:33:32 +08:00
LOG_FILE=
2024-10-23 17:24:36 +08:00
# Log file max size, the unit is MB
LOG_FILE_MAX_SIZE=20
# Log file max backup count
LOG_FILE_BACKUP_COUNT=5
2024-11-08 20:24:22 +08:00
# Log dateformat
LOG_DATEFORMAT=%Y-%m-%d %H:%M:%S
# Log Timezone
LOG_TZ=UTC
2024-12-15 12:22:25 +03:00
# Log format
LOG_FORMAT=%(asctime)s,%(msecs)d %(levelname)-2s [%(filename)s:%(lineno)d] %(req_id)s %(message)s
2024-05-20 13:20:27 +08:00
# Indexing configuration
2024-12-02 16:29:25 +09:00
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=4000
2024-05-29 13:39:11 +08:00
# Workflow runtime configuration
2024-05-31 15:16:35 +08:00
WORKFLOW_MAX_EXECUTION_STEPS=500
WORKFLOW_MAX_EXECUTION_TIME=1200
2024-05-29 13:39:11 +08:00
WORKFLOW_CALL_MAX_DEPTH=5
2024-10-21 10:43:49 +08:00
MAX_VARIABLE_SIZE=204800
2024-06-13 23:08:05 +08:00
2025-09-18 12:49:10 +08:00
# GraphEngine Worker Pool Configuration
# Minimum number of workers per GraphEngine instance (default: 1)
GRAPH_ENGINE_MIN_WORKERS=1
# Maximum number of workers per GraphEngine instance (default: 10)
GRAPH_ENGINE_MAX_WORKERS=10
# Queue depth threshold that triggers worker scale up (default: 3)
GRAPH_ENGINE_SCALE_UP_THRESHOLD=3
# Seconds of idle time before scaling down workers (default: 5.0)
GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME=5.0
2025-04-17 12:48:52 +09:00
# Workflow storage configuration
# Options: rdbms, hybrid
# rdbms: Use only the relational database (default)
# hybrid: Save new data to object storage, read from both object storage and RDBMS
WORKFLOW_NODE_EXECUTION_STORAGE=rdbms
2025-07-14 14:54:38 +08:00
# Repository configuration
# Core workflow execution repository implementation
CORE_WORKFLOW_EXECUTION_REPOSITORY=core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository
# Core workflow node execution repository implementation
CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY=core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository
# API workflow node execution repository implementation
API_WORKFLOW_NODE_EXECUTION_REPOSITORY=repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository
# API workflow run repository implementation
API_WORKFLOW_RUN_REPOSITORY=repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository
2025-08-19 09:47:34 +08:00
# Workflow log cleanup configuration
# Enable automatic cleanup of workflow run logs to manage database size
2025-11-12 22:55:02 +08:00
WORKFLOW_LOG_CLEANUP_ENABLED=false
2025-08-19 09:47:34 +08:00
# Number of days to retain workflow run logs (default: 30 days)
WORKFLOW_LOG_RETENTION_DAYS=30
# Batch size for workflow log cleanup operations (default: 100)
WORKFLOW_LOG_CLEANUP_BATCH_SIZE=100
2025-07-14 14:54:38 +08:00
2024-06-13 23:08:05 +08:00
# App configuration
2024-06-15 02:46:02 +08:00
APP_MAX_EXECUTION_TIME=1200
2024-07-10 13:31:35 +00:00
APP_MAX_ACTIVE_REQUESTS=0
2024-07-17 02:31:30 +08:00
# Celery beat configuration
2024-08-20 23:16:43 -04:00
CELERY_BEAT_SCHEDULER_TIME=1
2025-07-23 15:33:39 +08:00
# Celery schedule tasks configuration
ENABLE_CLEAN_EMBEDDING_CACHE_TASK=false
ENABLE_CLEAN_UNUSED_DATASETS_TASK=false
ENABLE_CREATE_TIDB_SERVERLESS_TASK=false
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK=false
ENABLE_CLEAN_MESSAGES=false
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK=false
ENABLE_DATASETS_QUEUE_MONITOR=false
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK=true
2025-11-12 17:59:37 +08:00
ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK=true
# Interval time in minutes for polling scheduled workflows(default: 1 min)
WORKFLOW_SCHEDULE_POLLER_INTERVAL=1
WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE=100
# Maximum number of scheduled workflows to dispatch per tick (0 for unlimited)
WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK=0
2025-07-23 15:33:39 +08:00
2024-08-20 23:16:43 -04:00
# Position configuration
POSITION_TOOL_PINS=
POSITION_TOOL_INCLUDES=
POSITION_TOOL_EXCLUDES=
POSITION_PROVIDER_PINS=
POSITION_PROVIDER_INCLUDES=
2024-10-21 18:14:26 +08:00
POSITION_PROVIDER_EXCLUDES=
2025-02-17 17:05:13 +08:00
# Plugin configuration
PLUGIN_DAEMON_KEY=lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
PLUGIN_DAEMON_URL=http://127.0.0.1:5002
PLUGIN_REMOTE_INSTALL_PORT=5003
PLUGIN_REMOTE_INSTALL_HOST=localhost
PLUGIN_MAX_PACKAGE_SIZE=15728640
INNER_API_KEY_FOR_PLUGIN=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
# Marketplace configuration
MARKETPLACE_ENABLED=true
MARKETPLACE_API_URL=https://marketplace.dify.ai
# Endpoint configuration
ENDPOINT_URL_TEMPLATE=http://localhost:5002/e/{hook_id}
2024-10-21 18:14:26 +08:00
# Reset password token expiry minutes
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES=5
2025-09-12 10:24:54 +08:00
EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES=5
2025-07-17 10:55:59 +08:00
CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES=5
OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES=5
2024-11-08 18:48:12 +08:00
2024-11-30 11:14:45 +08:00
CREATE_TIDB_SERVICE_JOB_ENABLED=false
2024-12-16 13:59:37 +09:00
# Maximum number of submitted thread count in a ThreadPool for parallel node execution
MAX_SUBMIT_COUNT=100
2024-12-16 20:05:27 +09:00
# Lockout duration in seconds
2025-03-17 19:42:54 +08:00
LOGIN_LOCKOUT_DURATION=86400
2025-04-11 17:04:06 +08:00
# Enable OpenTelemetry
ENABLE_OTEL=false
2025-07-16 18:24:17 +08:00
OTLP_TRACE_ENDPOINT=
OTLP_METRIC_ENDPOINT=
2025-04-11 17:04:06 +08:00
OTLP_BASE_ENDPOINT=http://localhost:4318
OTLP_API_KEY=
2025-05-14 22:37:27 +08:00
OTEL_EXPORTER_OTLP_PROTOCOL=
2025-04-11 17:04:06 +08:00
OTEL_EXPORTER_TYPE=otlp
OTEL_SAMPLING_RATE=0.1
OTEL_BATCH_EXPORT_SCHEDULE_DELAY=5000
OTEL_MAX_QUEUE_SIZE=2048
OTEL_MAX_EXPORT_BATCH_SIZE=512
OTEL_METRIC_EXPORT_INTERVAL=60000
OTEL_BATCH_EXPORT_TIMEOUT=10000
2025-04-22 16:48:45 +08:00
OTEL_METRIC_EXPORT_TIMEOUT=30000
# Prevent Clickjacking
ALLOW_EMBED=false
2025-06-04 19:56:34 +08:00
# Dataset queue monitor configuration
QUEUE_MONITOR_THRESHOLD=200
# You can configure multiple ones, separated by commas. eg: test1@dify.ai,test2@dify.ai
QUEUE_MONITOR_ALERT_EMAILS=
# Monitor interval in minutes, default is 30 minutes
QUEUE_MONITOR_INTERVAL=30
2025-08-26 15:48:04 +08:00
# Swagger UI configuration
SWAGGER_UI_ENABLED=true
SWAGGER_UI_PATH=/swagger-ui.html
2025-09-08 18:03:24 +08:00
# Whether to encrypt dataset IDs when exporting DSL files (default: true)
# Set to false to export dataset IDs as plain text for easier cross-environment import
DSL_EXPORT_ENCRYPT_DATASET_ID=true
2025-11-04 10:27:58 +08:00
2025-11-06 21:25:50 +08:00
# Tenant isolated task queue configuration
TENANT_ISOLATED_TASK_CONCURRENCY=1
2025-11-04 10:27:58 +08:00
# Maximum number of segments for dataset segments API (0 for unlimited)
DATASET_MAX_SEGMENTS_PER_REQUEST=0