dify/docker/docker-compose-demo.yaml
zhaohao1004 37a2199029 init
2026-04-20 21:21:54 +08:00

4039 lines
146 KiB
YAML

name: docker
services:
api:
depends_on:
db_mysql:
condition: service_healthy
required: false
db_postgres:
condition: service_healthy
required: false
init_permissions:
condition: service_completed_successfully
required: true
oceanbase:
condition: service_healthy
required: false
redis:
condition: service_started
required: true
seekdb:
condition: service_healthy
required: false
environment:
ACCESS_TOKEN_EXPIRE_MINUTES: "600"
ALIBABACLOUD_MYSQL_DATABASE: dify
ALIBABACLOUD_MYSQL_HNSW_M: "6"
ALIBABACLOUD_MYSQL_HOST: 127.0.0.1
ALIBABACLOUD_MYSQL_MAX_CONNECTION: "5"
ALIBABACLOUD_MYSQL_PASSWORD: difyai123456
ALIBABACLOUD_MYSQL_PORT: "3306"
ALIBABACLOUD_MYSQL_USER: root
ALIYUN_OSS_ACCESS_KEY: your-access-key
ALIYUN_OSS_AUTH_VERSION: v4
ALIYUN_OSS_BUCKET_NAME: your-bucket-name
ALIYUN_OSS_ENDPOINT: https://oss-ap-southeast-1-internal.aliyuncs.com
ALIYUN_OSS_PATH: your-path
ALIYUN_OSS_REGION: ap-southeast-1
ALIYUN_OSS_SECRET_KEY: your-secret-key
ALIYUN_SLS_ACCESS_KEY_ID: ""
ALIYUN_SLS_ACCESS_KEY_SECRET: ""
ALIYUN_SLS_ENDPOINT: ""
ALIYUN_SLS_LOGSTORE_TTL: "365"
ALIYUN_SLS_PROJECT_NAME: ""
ALIYUN_SLS_REGION: ""
ALLOW_EMBED: "false"
ALLOW_INLINE_STYLES: "false"
ALLOW_UNSAFE_DATA_SCHEME: "false"
AMPLITUDE_API_KEY: ""
ANALYTICDB_ACCOUNT: testaccount
ANALYTICDB_HOST: gp-test.aliyuncs.com
ANALYTICDB_INSTANCE_ID: gp-ab123456
ANALYTICDB_KEY_ID: your-ak
ANALYTICDB_KEY_SECRET: your-sk
ANALYTICDB_MAX_CONNECTION: "5"
ANALYTICDB_MIN_CONNECTION: "1"
ANALYTICDB_NAMESPACE: dify
ANALYTICDB_NAMESPACE_PASSWORD: difypassword
ANALYTICDB_PASSWORD: testpassword
ANALYTICDB_PORT: "5432"
ANALYTICDB_REGION_ID: cn-hangzhou
ANNOTATION_IMPORT_FILE_SIZE_LIMIT: "2"
ANNOTATION_IMPORT_MAX_CONCURRENT: "5"
ANNOTATION_IMPORT_MAX_RECORDS: "10000"
ANNOTATION_IMPORT_MIN_RECORDS: "1"
ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR: "20"
ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE: "5"
API_SENTRY_DSN: ""
API_SENTRY_PROFILES_SAMPLE_RATE: "1.0"
API_SENTRY_TRACES_SAMPLE_RATE: "1.0"
API_TOOL_DEFAULT_CONNECT_TIMEOUT: "10"
API_TOOL_DEFAULT_READ_TIMEOUT: "60"
API_WORKFLOW_NODE_EXECUTION_REPOSITORY: repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository
API_WORKFLOW_RUN_REPOSITORY: repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository
APP_API_URL: ""
APP_DEFAULT_ACTIVE_REQUESTS: "0"
APP_MAX_ACTIVE_REQUESTS: "0"
APP_MAX_EXECUTION_TIME: "1200"
APP_WEB_URL: ""
ARCHIVE_STORAGE_ACCESS_KEY: ""
ARCHIVE_STORAGE_ARCHIVE_BUCKET: ""
ARCHIVE_STORAGE_ENABLED: "false"
ARCHIVE_STORAGE_ENDPOINT: ""
ARCHIVE_STORAGE_EXPORT_BUCKET: ""
ARCHIVE_STORAGE_REGION: auto
ARCHIVE_STORAGE_SECRET_KEY: ""
ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT: "60"
ATTACHMENT_IMAGE_FILE_SIZE_LIMIT: "2"
AZURE_BLOB_ACCOUNT_KEY: difyai
AZURE_BLOB_ACCOUNT_NAME: difyai
AZURE_BLOB_ACCOUNT_URL: https://<your_account_name>.blob.core.windows.net
AZURE_BLOB_CONTAINER_NAME: difyai-container
BAIDU_OBS_ACCESS_KEY: your-access-key
BAIDU_OBS_BUCKET_NAME: your-bucket-name
BAIDU_OBS_ENDPOINT: your-server-url
BAIDU_OBS_SECRET_KEY: your-secret-key
BAIDU_VECTOR_DB_ACCOUNT: root
BAIDU_VECTOR_DB_API_KEY: dify
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT: "500"
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT_RATIO: "0.05"
BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS: "30000"
BAIDU_VECTOR_DB_DATABASE: dify
BAIDU_VECTOR_DB_ENDPOINT: http://127.0.0.1:5287
BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER: DEFAULT_ANALYZER
BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE: COARSE_MODE
BAIDU_VECTOR_DB_REBUILD_INDEX_TIMEOUT_IN_SECONDS: "300"
BAIDU_VECTOR_DB_REPLICAS: "3"
BAIDU_VECTOR_DB_SHARD: "1"
BROKER_USE_SSL: "false"
CELERY_AUTO_SCALE: "false"
CELERY_BACKEND: redis
CELERY_BROKER_URL: redis://:difyai123456@redis:6379/1
CELERY_MAX_WORKERS: ""
CELERY_MIN_WORKERS: ""
CELERY_SENTINEL_MASTER_NAME: ""
CELERY_SENTINEL_PASSWORD: ""
CELERY_SENTINEL_SOCKET_TIMEOUT: "0.1"
CELERY_TASK_ANNOTATIONS: "null"
CELERY_USE_SENTINEL: "false"
CELERY_WORKER_AMOUNT: "4"
CELERY_WORKER_CLASS: ""
CERTBOT_DOMAIN: your_domain.com
CERTBOT_EMAIL: your_email@example.com
CERTBOT_OPTIONS: ""
CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES: "5"
CHECK_UPDATE_URL: https://updates.dify.ai
CHROMA_AUTH_CREDENTIALS: ""
CHROMA_AUTH_PROVIDER: chromadb.auth.token_authn.TokenAuthClientProvider
CHROMA_DATABASE: default_database
CHROMA_HOST: 127.0.0.1
CHROMA_IS_PERSISTENT: "TRUE"
CHROMA_PORT: "8000"
CHROMA_SERVER_AUTHN_CREDENTIALS: difyai123456
CHROMA_SERVER_AUTHN_PROVIDER: chromadb.auth.token_authn.TokenAuthenticationServerProvider
CHROMA_TENANT: default_tenant
CLICKZETTA_ANALYZER_MODE: smart
CLICKZETTA_ANALYZER_TYPE: chinese
CLICKZETTA_BATCH_SIZE: "100"
CLICKZETTA_ENABLE_INVERTED_INDEX: "true"
CLICKZETTA_INSTANCE: ""
CLICKZETTA_PASSWORD: ""
CLICKZETTA_SCHEMA: dify
CLICKZETTA_SERVICE: api.clickzetta.com
CLICKZETTA_USERNAME: ""
CLICKZETTA_VCLUSTER: default_ap
CLICKZETTA_VECTOR_DISTANCE_FUNCTION: cosine_distance
CLICKZETTA_VOLUME_DIFY_PREFIX: dify_km
CLICKZETTA_VOLUME_NAME: ""
CLICKZETTA_VOLUME_TABLE_PREFIX: dataset_
CLICKZETTA_VOLUME_TYPE: user
CLICKZETTA_WORKSPACE: quick_start
CODE_EXECUTION_API_KEY: dify-sandbox
CODE_EXECUTION_CONNECT_TIMEOUT: "10"
CODE_EXECUTION_ENDPOINT: http://sandbox:8194
CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY: "5.0"
CODE_EXECUTION_POOL_MAX_CONNECTIONS: "100"
CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
CODE_EXECUTION_READ_TIMEOUT: "60"
CODE_EXECUTION_SSL_VERIFY: "True"
CODE_EXECUTION_WRITE_TIMEOUT: "10"
CODE_GENERATION_MAX_TOKENS: "1024"
CODE_MAX_DEPTH: "5"
CODE_MAX_NUMBER: "9223372036854775807"
CODE_MAX_NUMBER_ARRAY_LENGTH: "1000"
CODE_MAX_OBJECT_ARRAY_LENGTH: "30"
CODE_MAX_PRECISION: "20"
CODE_MAX_STRING_ARRAY_LENGTH: "30"
CODE_MAX_STRING_LENGTH: "400000"
CODE_MIN_NUMBER: "-9223372036854775808"
CONSOLE_API_URL: ""
CONSOLE_API_URL_NEW: ""
CONSOLE_CORS_ALLOW_ORIGINS: '*'
CONSOLE_WEB_URL: ""
COOKIE_DOMAIN: ""
CORE_WORKFLOW_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository
CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository
COUCHBASE_BUCKET_NAME: Embeddings
COUCHBASE_CONNECTION_STRING: couchbase://couchbase-server
COUCHBASE_PASSWORD: password
COUCHBASE_SCOPE_NAME: _default
COUCHBASE_USER: Administrator
CREATE_TIDB_SERVICE_JOB_ENABLED: "false"
CSP_WHITELIST: ""
DATASET_MAX_SEGMENTS_PER_REQUEST: "0"
DB_DATABASE: dify
DB_HOST: db_postgres
DB_PASSWORD: difyai123456
DB_PLUGIN_DATABASE: dify_plugin
DB_PORT: "5432"
DB_TYPE: postgresql
DB_USERNAME: postgres
DEBUG: "false"
DEPLOY_ENV: PRODUCTION
DIFY_BIND_ADDRESS: 0.0.0.0
DIFY_PORT: "5001"
DSL_EXPORT_ENCRYPT_DATASET_ID: "true"
ELASTICSEARCH_API_KEY: YOUR-ELASTICSEARCH_API_KEY
ELASTICSEARCH_CA_CERTS: ""
ELASTICSEARCH_CLOUD_URL: YOUR-ELASTICSEARCH_CLOUD_URL
ELASTICSEARCH_HOST: 0.0.0.0
ELASTICSEARCH_MAX_RETRIES: "10"
ELASTICSEARCH_PASSWORD: elastic
ELASTICSEARCH_PORT: "9200"
ELASTICSEARCH_REQUEST_TIMEOUT: "100000"
ELASTICSEARCH_RETRY_ON_TIMEOUT: "True"
ELASTICSEARCH_USE_CLOUD: "false"
ELASTICSEARCH_USERNAME: elastic
ELASTICSEARCH_VERIFY_CERTS: "False"
EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES: "5"
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK: "true"
ENABLE_CLEAN_EMBEDDING_CACHE_TASK: "false"
ENABLE_CLEAN_MESSAGES: "false"
ENABLE_CLEAN_UNUSED_DATASETS_TASK: "false"
ENABLE_COLLABORATION_MODE: "false"
ENABLE_CREATE_TIDB_SERVERLESS_TASK: "false"
ENABLE_DATASETS_QUEUE_MONITOR: "false"
ENABLE_HUMAN_INPUT_TIMEOUT_TASK: "true"
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK: "false"
ENABLE_OTEL: "false"
ENABLE_REQUEST_LOGGING: "False"
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK: "false"
ENABLE_WEBSITE_FIRECRAWL: "true"
ENABLE_WEBSITE_JINAREADER: "true"
ENABLE_WEBSITE_WATERCRAWL: "true"
ENABLE_WORKFLOW_RUN_CLEANUP_TASK: "false"
ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK: "true"
ENDPOINT_URL_TEMPLATE: http://localhost/e/{hook_id}
ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES: "true"
ETCD_AUTO_COMPACTION_MODE: revision
ETCD_AUTO_COMPACTION_RETENTION: "1000"
ETCD_ENDPOINTS: etcd:2379
ETCD_QUOTA_BACKEND_BYTES: "4294967296"
ETCD_SNAPSHOT_COUNT: "50000"
ETL_TYPE: dify
EVENT_BUS_REDIS_CHANNEL_TYPE: pubsub
EVENT_BUS_REDIS_URL: ""
EVENT_BUS_REDIS_USE_CLUSTERS: "false"
EXPERIMENTAL_ENABLE_VINEXT: "false"
EXPOSE_NGINX_PORT: "80"
EXPOSE_NGINX_SSL_PORT: "443"
EXPOSE_PLUGIN_DAEMON_PORT: "5002"
EXPOSE_PLUGIN_DEBUGGING_HOST: localhost
EXPOSE_PLUGIN_DEBUGGING_PORT: "5003"
FILES_ACCESS_TIMEOUT: "300"
FILES_URL: ""
FLASK_DEBUG: "false"
FORCE_VERIFYING_SIGNATURE: "true"
GOOGLE_STORAGE_BUCKET_NAME: your-bucket-name
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ""
GRAPH_ENGINE_MAX_WORKERS: "10"
GRAPH_ENGINE_MIN_WORKERS: "1"
GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME: "5.0"
GRAPH_ENGINE_SCALE_UP_THRESHOLD: "3"
GUNICORN_TIMEOUT: "360"
HOLOGRES_ACCESS_KEY_ID: ""
HOLOGRES_ACCESS_KEY_SECRET: ""
HOLOGRES_BASE_QUANTIZATION_TYPE: rabitq
HOLOGRES_DATABASE: ""
HOLOGRES_DISTANCE_METHOD: Cosine
HOLOGRES_EF_CONSTRUCTION: "400"
HOLOGRES_HOST: ""
HOLOGRES_MAX_DEGREE: "64"
HOLOGRES_PORT: "80"
HOLOGRES_SCHEMA: public
HOLOGRES_TOKENIZER: jieba
HTTP_REQUEST_MAX_CONNECT_TIMEOUT: "10"
HTTP_REQUEST_MAX_READ_TIMEOUT: "600"
HTTP_REQUEST_MAX_WRITE_TIMEOUT: "600"
HTTP_REQUEST_NODE_MAX_BINARY_SIZE: "10485760"
HTTP_REQUEST_NODE_MAX_TEXT_SIZE: "1048576"
HTTP_REQUEST_NODE_SSL_VERIFY: "True"
HUAWEI_CLOUD_HOSTS: https://127.0.0.1:9200
HUAWEI_CLOUD_PASSWORD: admin
HUAWEI_CLOUD_USER: admin
HUAWEI_OBS_ACCESS_KEY: your-access-key
HUAWEI_OBS_BUCKET_NAME: your-bucket-name
HUAWEI_OBS_PATH_STYLE: "false"
HUAWEI_OBS_SECRET_KEY: your-secret-key
HUAWEI_OBS_SERVER: your-server-url
HUMAN_INPUT_TIMEOUT_TASK_INTERVAL: "1"
IMAGE_FILE_BATCH_LIMIT: "10"
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: "4000"
INIT_PASSWORD: ""
INNER_API_KEY_FOR_PLUGIN: QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
INTERNAL_FILES_URL: ""
INVITE_EXPIRY_HOURS: "72"
IRIS_CONNECTION_URL: ""
IRIS_DATABASE: USER
IRIS_HOST: iris
IRIS_MAX_CONNECTION: "3"
IRIS_MIN_CONNECTION: "1"
IRIS_PASSWORD: Dify@1234
IRIS_SCHEMA: dify
IRIS_SUPER_SERVER_PORT: "1972"
IRIS_TEXT_INDEX: "true"
IRIS_TEXT_INDEX_LANGUAGE: en
IRIS_TIMEZONE: UTC
IRIS_USER: _SYSTEM
IRIS_WEB_SERVER_PORT: "52773"
KIBANA_PORT: "5601"
LANG: C.UTF-8
LC_ALL: C.UTF-8
LINDORM_PASSWORD: admin
LINDORM_QUERY_TIMEOUT: "1"
LINDORM_URL: http://localhost:30070
LINDORM_USERNAME: admin
LINDORM_USING_UGC: "True"
LOG_DATEFORMAT: '%Y-%m-%d %H:%M:%S'
LOG_FILE: /app/logs/server.log
LOG_FILE_BACKUP_COUNT: "5"
LOG_FILE_MAX_SIZE: "20"
LOG_LEVEL: INFO
LOG_OUTPUT_FORMAT: text
LOG_TZ: UTC
LOGSTORE_DUAL_READ_ENABLED: "true"
LOGSTORE_DUAL_WRITE_ENABLED: "false"
LOGSTORE_ENABLE_PUT_GRAPH_FIELD: "true"
LOOP_NODE_MAX_COUNT: "100"
MAIL_DEFAULT_SEND_FROM: ""
MAIL_TYPE: resend
MARKETPLACE_API_URL: https://marketplace.dify.ai
MARKETPLACE_ENABLED: "true"
MATRIXONE_DATABASE: dify
MATRIXONE_HOST: matrixone
MATRIXONE_PASSWORD: "111"
MATRIXONE_PORT: "6001"
MATRIXONE_USER: dump
MAX_ITERATIONS_NUM: "99"
MAX_PARALLEL_LIMIT: "10"
MAX_SUBMIT_COUNT: "100"
MAX_TOOLS_NUM: "10"
MAX_TREE_DEPTH: "50"
MAX_VARIABLE_SIZE: "204800"
MIGRATION_ENABLED: "true"
MILVUS_ANALYZER_PARAMS: ""
MILVUS_AUTHORIZATION_ENABLED: "true"
MILVUS_DATABASE: ""
MILVUS_ENABLE_HYBRID_SEARCH: "False"
MILVUS_PASSWORD: ""
MILVUS_TOKEN: ""
MILVUS_URI: http://host.docker.internal:19530
MILVUS_USER: ""
MINIO_ACCESS_KEY: minioadmin
MINIO_ADDRESS: minio:9000
MINIO_SECRET_KEY: minioadmin
MODE: api
MULTIMODAL_SEND_FORMAT: base64
MYSCALE_DATABASE: dify
MYSCALE_FTS_PARAMS: ""
MYSCALE_HOST: myscale
MYSCALE_PASSWORD: ""
MYSCALE_PORT: "8123"
MYSCALE_USER: default
MYSQL_HOST_VOLUME: ./volumes/mysql/data
MYSQL_INNODB_BUFFER_POOL_SIZE: 512M
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT: "2"
MYSQL_INNODB_LOG_FILE_SIZE: 128M
MYSQL_MAX_CONNECTIONS: "1000"
NEXT_PUBLIC_BATCH_CONCURRENCY: "5"
NEXT_PUBLIC_COOKIE_DOMAIN: ""
NEXT_PUBLIC_ENABLE_SINGLE_DOLLAR_LATEX: "false"
NEXT_PUBLIC_SOCKET_URL: ws://localhost
NGINX_CLIENT_MAX_BODY_SIZE: 100M
NGINX_ENABLE_CERTBOT_CHALLENGE: "false"
NGINX_HTTPS_ENABLED: "false"
NGINX_KEEPALIVE_TIMEOUT: "65"
NGINX_PORT: "80"
NGINX_PROXY_READ_TIMEOUT: 3600s
NGINX_PROXY_SEND_TIMEOUT: 3600s
NGINX_SERVER_NAME: _
NGINX_SSL_CERT_FILENAME: dify.crt
NGINX_SSL_CERT_KEY_FILENAME: dify.key
NGINX_SSL_PORT: "443"
NGINX_SSL_PROTOCOLS: TLSv1.2 TLSv1.3
NGINX_WORKER_PROCESSES: auto
NOTION_CLIENT_ID: ""
NOTION_CLIENT_SECRET: ""
NOTION_INTEGRATION_TYPE: public
NOTION_INTERNAL_SECRET: ""
OCEANBASE_CLUSTER_NAME: difyai
OCEANBASE_ENABLE_HYBRID_SEARCH: "false"
OCEANBASE_FULLTEXT_PARSER: ik
OCEANBASE_MEMORY_LIMIT: 6G
OCEANBASE_VECTOR_DATABASE: test
OCEANBASE_VECTOR_HOST: oceanbase
OCEANBASE_VECTOR_PASSWORD: difyai123456
OCEANBASE_VECTOR_PORT: "2881"
OCEANBASE_VECTOR_USER: root@test
OCI_ACCESS_KEY: your-access-key
OCI_BUCKET_NAME: your-bucket-name
OCI_ENDPOINT: https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com
OCI_REGION: us-ashburn-1
OCI_SECRET_KEY: your-secret-key
OPENAI_API_BASE: https://api.openai.com/v1
OPENDAL_FS_ROOT: storage
OPENDAL_SCHEME: fs
OPENGAUSS_DATABASE: dify
OPENGAUSS_ENABLE_PQ: "false"
OPENGAUSS_HOST: opengauss
OPENGAUSS_MAX_CONNECTION: "5"
OPENGAUSS_MIN_CONNECTION: "1"
OPENGAUSS_PASSWORD: Dify@123
OPENGAUSS_PORT: "6600"
OPENGAUSS_USER: postgres
OPENSEARCH_AUTH_METHOD: basic
OPENSEARCH_AWS_REGION: ap-southeast-1
OPENSEARCH_AWS_SERVICE: aoss
OPENSEARCH_BOOTSTRAP_MEMORY_LOCK: "true"
OPENSEARCH_DISCOVERY_TYPE: single-node
OPENSEARCH_HOST: opensearch
OPENSEARCH_INITIAL_ADMIN_PASSWORD: Qazwsxedc!@#123
OPENSEARCH_JAVA_OPTS_MAX: 1024m
OPENSEARCH_JAVA_OPTS_MIN: 512m
OPENSEARCH_MEMLOCK_HARD: "-1"
OPENSEARCH_MEMLOCK_SOFT: "-1"
OPENSEARCH_NOFILE_HARD: "65536"
OPENSEARCH_NOFILE_SOFT: "65536"
OPENSEARCH_PASSWORD: admin
OPENSEARCH_PORT: "9200"
OPENSEARCH_SECURE: "true"
OPENSEARCH_USER: admin
OPENSEARCH_VERIFY_CERTS: "true"
ORACLE_CHARACTERSET: AL32UTF8
ORACLE_CONFIG_DIR: /app/api/storage/wallet
ORACLE_DSN: oracle:1521/FREEPDB1
ORACLE_IS_AUTONOMOUS: "false"
ORACLE_PASSWORD: dify
ORACLE_PWD: Dify123456
ORACLE_USER: dify
ORACLE_WALLET_LOCATION: /app/api/storage/wallet
ORACLE_WALLET_PASSWORD: dify
OTEL_BATCH_EXPORT_SCHEDULE_DELAY: "5000"
OTEL_BATCH_EXPORT_TIMEOUT: "10000"
OTEL_EXPORTER_OTLP_PROTOCOL: ""
OTEL_EXPORTER_TYPE: otlp
OTEL_MAX_EXPORT_BATCH_SIZE: "512"
OTEL_MAX_QUEUE_SIZE: "2048"
OTEL_METRIC_EXPORT_INTERVAL: "60000"
OTEL_METRIC_EXPORT_TIMEOUT: "30000"
OTEL_SAMPLING_RATE: "0.1"
OTLP_API_KEY: ""
OTLP_BASE_ENDPOINT: http://localhost:4318
OTLP_METRIC_ENDPOINT: ""
OTLP_TRACE_ENDPOINT: ""
OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES: "5"
PGDATA: /var/lib/postgresql/data/pgdata
PGVECTO_RS_DATABASE: dify
PGVECTO_RS_HOST: pgvecto-rs
PGVECTO_RS_PASSWORD: difyai123456
PGVECTO_RS_PORT: "5432"
PGVECTO_RS_USER: postgres
PGVECTOR_DATABASE: dify
PGVECTOR_HOST: pgvector
PGVECTOR_MAX_CONNECTION: "5"
PGVECTOR_MIN_CONNECTION: "1"
PGVECTOR_PASSWORD: difyai123456
PGVECTOR_PG_BIGM: "false"
PGVECTOR_PG_BIGM_VERSION: 1.2-20240606
PGVECTOR_PGDATA: /var/lib/postgresql/data/pgdata
PGVECTOR_PGUSER: postgres
PGVECTOR_PORT: "5432"
PGVECTOR_POSTGRES_DB: dify
PGVECTOR_POSTGRES_PASSWORD: difyai123456
PGVECTOR_USER: postgres
PIP_MIRROR_URL: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET: ""
PLUGIN_ALIYUN_OSS_AUTH_VERSION: v4
PLUGIN_ALIYUN_OSS_ENDPOINT: ""
PLUGIN_ALIYUN_OSS_PATH: ""
PLUGIN_ALIYUN_OSS_REGION: ""
PLUGIN_AWS_ACCESS_KEY: ""
PLUGIN_AWS_REGION: ""
PLUGIN_AWS_SECRET_KEY: ""
PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING: ""
PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME: ""
PLUGIN_BASED_TOKEN_COUNTING_ENABLED: "false"
PLUGIN_DAEMON_KEY: lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
PLUGIN_DAEMON_PORT: "5002"
PLUGIN_DAEMON_TIMEOUT: "600.0"
PLUGIN_DAEMON_URL: http://plugin_daemon:5002
PLUGIN_DEBUGGING_HOST: 0.0.0.0
PLUGIN_DEBUGGING_PORT: "5003"
PLUGIN_DIFY_INNER_API_KEY: QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
PLUGIN_DIFY_INNER_API_URL: http://api:5001
PLUGIN_INSTALLED_PATH: plugin
PLUGIN_MAX_EXECUTION_TIMEOUT: "600"
PLUGIN_MAX_PACKAGE_SIZE: "52428800"
PLUGIN_MEDIA_CACHE_PATH: assets
PLUGIN_MODEL_SCHEMA_CACHE_TTL: "3600"
PLUGIN_PACKAGE_CACHE_PATH: plugin_packages
PLUGIN_PPROF_ENABLED: "false"
PLUGIN_PYTHON_ENV_INIT_TIMEOUT: "120"
PLUGIN_REMOTE_INSTALL_HOST: localhost
PLUGIN_REMOTE_INSTALL_PORT: "5003"
PLUGIN_S3_ENDPOINT: ""
PLUGIN_S3_USE_AWS: "false"
PLUGIN_S3_USE_AWS_MANAGED_IAM: "false"
PLUGIN_S3_USE_PATH_STYLE: "false"
PLUGIN_SENTRY_DSN: ""
PLUGIN_SENTRY_ENABLED: "false"
PLUGIN_STDIO_BUFFER_SIZE: "1024"
PLUGIN_STDIO_MAX_BUFFER_SIZE: "5242880"
PLUGIN_STORAGE_LOCAL_ROOT: /app/storage
PLUGIN_STORAGE_OSS_BUCKET: ""
PLUGIN_STORAGE_TYPE: local
PLUGIN_TENCENT_COS_REGION: ""
PLUGIN_TENCENT_COS_SECRET_ID: ""
PLUGIN_TENCENT_COS_SECRET_KEY: ""
PLUGIN_VOLCENGINE_TOS_ACCESS_KEY: ""
PLUGIN_VOLCENGINE_TOS_ENDPOINT: ""
PLUGIN_VOLCENGINE_TOS_REGION: ""
PLUGIN_VOLCENGINE_TOS_SECRET_KEY: ""
PLUGIN_WORKING_PATH: /app/storage/cwd
POSITION_PROVIDER_EXCLUDES: ""
POSITION_PROVIDER_INCLUDES: ""
POSITION_PROVIDER_PINS: ""
POSITION_TOOL_EXCLUDES: ""
POSITION_TOOL_INCLUDES: ""
POSITION_TOOL_PINS: ""
POSTGRES_EFFECTIVE_CACHE_SIZE: 4096MB
POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT: "0"
POSTGRES_MAINTENANCE_WORK_MEM: 64MB
POSTGRES_MAX_CONNECTIONS: "100"
POSTGRES_SHARED_BUFFERS: 128MB
POSTGRES_STATEMENT_TIMEOUT: "0"
POSTGRES_WORK_MEM: 4MB
PROMPT_GENERATION_MAX_TOKENS: "512"
PYTHONIOENCODING: utf-8
QDRANT_API_KEY: difyai123456
QDRANT_CLIENT_TIMEOUT: "20"
QDRANT_GRPC_ENABLED: "false"
QDRANT_GRPC_PORT: "6334"
QDRANT_REPLICATION_FACTOR: "1"
QDRANT_URL: http://qdrant:6333
QUEUE_MONITOR_ALERT_EMAILS: ""
QUEUE_MONITOR_INTERVAL: "30"
QUEUE_MONITOR_THRESHOLD: "200"
REDIS_CLUSTERS: ""
REDIS_CLUSTERS_PASSWORD: ""
REDIS_DB: "0"
REDIS_HEALTH_CHECK_INTERVAL: "30"
REDIS_HOST: redis
REDIS_KEY_PREFIX: ""
REDIS_MAX_CONNECTIONS: ""
REDIS_PASSWORD: difyai123456
REDIS_PORT: "6379"
REDIS_RETRY_BACKOFF_BASE: "1.0"
REDIS_RETRY_BACKOFF_CAP: "10.0"
REDIS_RETRY_RETRIES: "3"
REDIS_SENTINEL_PASSWORD: ""
REDIS_SENTINEL_SERVICE_NAME: ""
REDIS_SENTINEL_SOCKET_TIMEOUT: "0.1"
REDIS_SENTINEL_USERNAME: ""
REDIS_SENTINELS: ""
REDIS_SOCKET_CONNECT_TIMEOUT: "5.0"
REDIS_SOCKET_TIMEOUT: "5.0"
REDIS_SSL_CA_CERTS: ""
REDIS_SSL_CERT_REQS: CERT_NONE
REDIS_SSL_CERTFILE: ""
REDIS_SSL_KEYFILE: ""
REDIS_USE_CLUSTERS: "false"
REDIS_USE_SENTINEL: "false"
REDIS_USE_SSL: "false"
REDIS_USERNAME: ""
REFRESH_TOKEN_EXPIRE_DAYS: "30"
RELYT_DATABASE: postgres
RELYT_HOST: db
RELYT_PASSWORD: difyai123456
RELYT_PORT: "5432"
RELYT_USER: postgres
RESEND_API_KEY: your-resend-api-key
RESEND_API_URL: https://api.resend.com
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES: "5"
RESPECT_XFORWARD_HEADERS_ENABLED: "false"
S3_ACCESS_KEY: ""
S3_ADDRESS_STYLE: auto
S3_BUCKET_NAME: difyai
S3_ENDPOINT: ""
S3_REGION: us-east-1
S3_SECRET_KEY: ""
S3_USE_AWS_MANAGED_IAM: "false"
SANDBOX_API_KEY: dify-sandbox
SANDBOX_ENABLE_NETWORK: "true"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL: "200"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE: "1000"
SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD: "21"
SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL: "90000"
SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS: "30"
SANDBOX_GIN_MODE: release
SANDBOX_HTTP_PROXY: http://ssrf_proxy:3128
SANDBOX_HTTPS_PROXY: http://ssrf_proxy:3128
SANDBOX_PORT: "8194"
SANDBOX_WORKER_TIMEOUT: "15"
SCARF_NO_ANALYTICS: "true"
SECRET_KEY: sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U
SEEKDB_MEMORY_LIMIT: 2G
SENDGRID_API_KEY: ""
SENTRY_DSN: ""
SENTRY_PROFILES_SAMPLE_RATE: "1.0"
SENTRY_TRACES_SAMPLE_RATE: "1.0"
SERVER_WORKER_AMOUNT: "1"
SERVER_WORKER_CLASS: gevent
SERVER_WORKER_CONNECTIONS: "10"
SERVICE_API_URL: ""
SINGLE_CHUNK_ATTACHMENT_LIMIT: "10"
SMTP_LOCAL_HOSTNAME: ""
SMTP_OPPORTUNISTIC_TLS: "false"
SMTP_PASSWORD: ""
SMTP_PORT: "465"
SMTP_SERVER: ""
SMTP_USE_TLS: "true"
SMTP_USERNAME: ""
SQLALCHEMY_ECHO: "false"
SQLALCHEMY_MAX_OVERFLOW: "10"
SQLALCHEMY_POOL_PRE_PING: "false"
SQLALCHEMY_POOL_RECYCLE: "3600"
SQLALCHEMY_POOL_SIZE: "30"
SQLALCHEMY_POOL_TIMEOUT: "30"
SQLALCHEMY_POOL_USE_LIFO: "false"
SSRF_COREDUMP_DIR: /var/spool/squid
SSRF_DEFAULT_CONNECT_TIME_OUT: "5"
SSRF_DEFAULT_READ_TIME_OUT: "5"
SSRF_DEFAULT_TIME_OUT: "5"
SSRF_DEFAULT_WRITE_TIME_OUT: "5"
SSRF_HTTP_PORT: "3128"
SSRF_POOL_KEEPALIVE_EXPIRY: "5.0"
SSRF_POOL_MAX_CONNECTIONS: "100"
SSRF_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
SSRF_PROXY_HTTP_URL: http://ssrf_proxy:3128
SSRF_PROXY_HTTPS_URL: http://ssrf_proxy:3128
SSRF_REVERSE_PROXY_PORT: "8194"
SSRF_SANDBOX_HOST: sandbox
STORAGE_TYPE: opendal
SUPABASE_API_KEY: your-access-key
SUPABASE_BUCKET_NAME: your-bucket-name
SUPABASE_URL: your-server-url
SWAGGER_UI_ENABLED: "false"
SWAGGER_UI_PATH: /swagger-ui.html
TABLESTORE_ACCESS_KEY_ID: xxx
TABLESTORE_ACCESS_KEY_SECRET: xxx
TABLESTORE_ENDPOINT: https://instance-name.cn-hangzhou.ots.aliyuncs.com
TABLESTORE_INSTANCE_NAME: instance-name
TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCORE: "false"
TEMPLATE_TRANSFORM_MAX_LENGTH: "400000"
TENANT_ISOLATED_TASK_CONCURRENCY: "1"
TENCENT_COS_BUCKET_NAME: your-bucket-name
TENCENT_COS_CUSTOM_DOMAIN: your-custom-domain
TENCENT_COS_REGION: your-region
TENCENT_COS_SCHEME: your-scheme
TENCENT_COS_SECRET_ID: your-secret-id
TENCENT_COS_SECRET_KEY: your-secret-key
TENCENT_VECTOR_DB_API_KEY: dify
TENCENT_VECTOR_DB_DATABASE: dify
TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH: "false"
TENCENT_VECTOR_DB_REPLICAS: "2"
TENCENT_VECTOR_DB_SHARD: "1"
TENCENT_VECTOR_DB_TIMEOUT: "30"
TENCENT_VECTOR_DB_URL: http://127.0.0.1
TENCENT_VECTOR_DB_USERNAME: dify
TEXT_GENERATION_TIMEOUT_MS: "60000"
TIDB_API_URL: http://127.0.0.1
TIDB_IAM_API_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_ON_QDRANT_URL: http://127.0.0.1
TIDB_PRIVATE_KEY: dify
TIDB_PROJECT_ID: dify
TIDB_PUBLIC_KEY: dify
TIDB_REGION: regions/aws-us-east-1
TIDB_SPEND_LIMIT: "100"
TIDB_VECTOR_DATABASE: dify
TIDB_VECTOR_HOST: tidb
TIDB_VECTOR_PASSWORD: ""
TIDB_VECTOR_PORT: "4000"
TIDB_VECTOR_USER: ""
TOP_K_MAX_VALUE: "10"
TRIGGER_URL: http://localhost
UNSTRUCTURED_API_KEY: ""
UNSTRUCTURED_API_URL: ""
UPLOAD_AUDIO_FILE_SIZE_LIMIT: "50"
UPLOAD_FILE_BATCH_LIMIT: "5"
UPLOAD_FILE_EXTENSION_BLACKLIST: ""
UPLOAD_FILE_SIZE_LIMIT: "15"
UPLOAD_IMAGE_FILE_SIZE_LIMIT: "10"
UPLOAD_VIDEO_FILE_SIZE_LIMIT: "100"
UPSTASH_VECTOR_TOKEN: dify
UPSTASH_VECTOR_URL: https://xxx-vector.upstash.io
UV_CACHE_DIR: /tmp/.uv-cache
VASTBASE_DATABASE: dify
VASTBASE_HOST: vastbase
VASTBASE_MAX_CONNECTION: "5"
VASTBASE_MIN_CONNECTION: "1"
VASTBASE_PASSWORD: Difyai123456
VASTBASE_PORT: "5432"
VASTBASE_USER: dify
VECTOR_INDEX_NAME_PREFIX: Vector_index
VECTOR_STORE: weaviate
VIKINGDB_ACCESS_KEY: your-ak
VIKINGDB_CONNECTION_TIMEOUT: "30"
VIKINGDB_HOST: api-vikingdb.xxx.volces.com
VIKINGDB_REGION: cn-shanghai
VIKINGDB_SCHEMA: http
VIKINGDB_SECRET_KEY: your-sk
VIKINGDB_SOCKET_TIMEOUT: "30"
VOLCENGINE_TOS_ACCESS_KEY: your-access-key
VOLCENGINE_TOS_BUCKET_NAME: your-bucket-name
VOLCENGINE_TOS_ENDPOINT: your-server-url
VOLCENGINE_TOS_REGION: your-region
VOLCENGINE_TOS_SECRET_KEY: your-secret-key
WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_APIKEY_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_USERS: hello@dify.ai
WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED: "true"
WEAVIATE_AUTHORIZATION_ADMINLIST_USERS: hello@dify.ai
WEAVIATE_CLUSTER_HOSTNAME: node1
WEAVIATE_DEFAULT_VECTORIZER_MODULE: none
WEAVIATE_DISABLE_TELEMETRY: "false"
WEAVIATE_ENABLE_TOKENIZER_GSE: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_JA: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_KR: "false"
WEAVIATE_ENDPOINT: http://weaviate:8080
WEAVIATE_GRPC_ENDPOINT: grpc://weaviate:50051
WEAVIATE_PERSISTENCE_DATA_PATH: /var/lib/weaviate
WEAVIATE_QUERY_DEFAULTS_LIMIT: "25"
WEAVIATE_TOKENIZATION: word
WEB_API_CORS_ALLOW_ORIGINS: '*'
WEB_SENTRY_DSN: ""
WEBHOOK_REQUEST_BODY_MAX_SIZE: "10485760"
WORKFLOW_CALL_MAX_DEPTH: "5"
WORKFLOW_FILE_UPLOAD_LIMIT: "10"
WORKFLOW_LOG_CLEANUP_BATCH_SIZE: "100"
WORKFLOW_LOG_CLEANUP_ENABLED: "false"
WORKFLOW_LOG_CLEANUP_SPECIFIC_WORKFLOW_IDS: ""
WORKFLOW_LOG_RETENTION_DAYS: "30"
WORKFLOW_MAX_EXECUTION_STEPS: "500"
WORKFLOW_MAX_EXECUTION_TIME: "1200"
WORKFLOW_NODE_EXECUTION_STORAGE: rdbms
WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK: "0"
WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE: "100"
WORKFLOW_SCHEDULE_POLLER_INTERVAL: "1"
healthcheck:
test:
- CMD
- curl
- -f
- http://localhost:5001/health
timeout: 5s
interval: 30s
retries: 3
start_period: 30s
image: langgenius/dify-api:1.13.3
networks:
default: null
ssrf_proxy_network: null
restart: always
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/app/storage
target: /app/api/storage
bind: {}
db_postgres:
profiles:
- postgresql
command:
- postgres
- -c
- max_connections=100
- -c
- shared_buffers=128MB
- -c
- work_mem=4MB
- -c
- maintenance_work_mem=64MB
- -c
- effective_cache_size=4096MB
- -c
- statement_timeout=0
- -c
- idle_in_transaction_session_timeout=0
environment:
PGDATA: /var/lib/postgresql/data/pgdata
POSTGRES_DB: dify
POSTGRES_PASSWORD: difyai123456
POSTGRES_USER: postgres
healthcheck:
test:
- CMD
- pg_isready
- -h
- db_postgres
- -U
- postgres
- -d
- dify
timeout: 3s
interval: 1s
retries: 60
image: postgres:15-alpine
networks:
default: null
restart: always
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/db/data
target: /var/lib/postgresql/data
bind: {}
init_permissions:
command:
- sh
- -c
- |
FLAG_FILE="/app/api/storage/.init_permissions"
if [ -f "$${FLAG_FILE}" ]; then
echo "Permissions already initialized. Exiting."
exit 0
fi
echo "Initializing permissions for /app/api/storage"
chown -R 1001:1001 /app/api/storage && touch "$${FLAG_FILE}"
echo "Permissions initialized. Exiting."
image: busybox:latest
networks:
default: null
restart: "no"
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/app/storage
target: /app/api/storage
bind: {}
nginx:
depends_on:
api:
condition: service_started
required: true
web:
condition: service_started
required: true
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:
CERTBOT_DOMAIN: your_domain.com
NGINX_CLIENT_MAX_BODY_SIZE: 100M
NGINX_ENABLE_CERTBOT_CHALLENGE: "false"
NGINX_HTTPS_ENABLED: "false"
NGINX_KEEPALIVE_TIMEOUT: "65"
NGINX_PORT: "80"
NGINX_PROXY_READ_TIMEOUT: 3600s
NGINX_PROXY_SEND_TIMEOUT: 3600s
NGINX_SERVER_NAME: _
NGINX_SSL_CERT_FILENAME: dify.crt
NGINX_SSL_CERT_KEY_FILENAME: dify.key
NGINX_SSL_PORT: "443"
NGINX_SSL_PROTOCOLS: TLSv1.2 TLSv1.3
NGINX_WORKER_PROCESSES: auto
image: nginx:latest
networks:
default: null
ports:
- mode: ingress
target: 80
published: "80"
protocol: tcp
- mode: ingress
target: 443
published: "443"
protocol: tcp
restart: always
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/nginx/nginx.conf.template
target: /etc/nginx/nginx.conf.template
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/nginx/proxy.conf.template
target: /etc/nginx/proxy.conf.template
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/nginx/https.conf.template
target: /etc/nginx/https.conf.template
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/nginx/conf.d
target: /etc/nginx/conf.d
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/nginx/docker-entrypoint.sh
target: /docker-entrypoint-mount.sh
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/nginx/ssl
target: /etc/ssl
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/certbot/conf/live
target: /etc/letsencrypt/live
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/certbot/conf
target: /etc/letsencrypt
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/certbot/www
target: /var/www/html
bind: {}
plugin_daemon:
depends_on:
db_mysql:
condition: service_healthy
required: false
db_postgres:
condition: service_healthy
required: false
oceanbase:
condition: service_healthy
required: false
seekdb:
condition: service_healthy
required: false
environment:
ACCESS_TOKEN_EXPIRE_MINUTES: "600"
ALIBABACLOUD_MYSQL_DATABASE: dify
ALIBABACLOUD_MYSQL_HNSW_M: "6"
ALIBABACLOUD_MYSQL_HOST: 127.0.0.1
ALIBABACLOUD_MYSQL_MAX_CONNECTION: "5"
ALIBABACLOUD_MYSQL_PASSWORD: difyai123456
ALIBABACLOUD_MYSQL_PORT: "3306"
ALIBABACLOUD_MYSQL_USER: root
ALIYUN_OSS_ACCESS_KEY: your-access-key
ALIYUN_OSS_ACCESS_KEY_ID: ""
ALIYUN_OSS_ACCESS_KEY_SECRET: ""
ALIYUN_OSS_AUTH_VERSION: v4
ALIYUN_OSS_BUCKET_NAME: your-bucket-name
ALIYUN_OSS_ENDPOINT: ""
ALIYUN_OSS_PATH: ""
ALIYUN_OSS_REGION: ""
ALIYUN_OSS_SECRET_KEY: your-secret-key
ALIYUN_SLS_ACCESS_KEY_ID: ""
ALIYUN_SLS_ACCESS_KEY_SECRET: ""
ALIYUN_SLS_ENDPOINT: ""
ALIYUN_SLS_LOGSTORE_TTL: "365"
ALIYUN_SLS_PROJECT_NAME: ""
ALIYUN_SLS_REGION: ""
ALLOW_EMBED: "false"
ALLOW_INLINE_STYLES: "false"
ALLOW_UNSAFE_DATA_SCHEME: "false"
AMPLITUDE_API_KEY: ""
ANALYTICDB_ACCOUNT: testaccount
ANALYTICDB_HOST: gp-test.aliyuncs.com
ANALYTICDB_INSTANCE_ID: gp-ab123456
ANALYTICDB_KEY_ID: your-ak
ANALYTICDB_KEY_SECRET: your-sk
ANALYTICDB_MAX_CONNECTION: "5"
ANALYTICDB_MIN_CONNECTION: "1"
ANALYTICDB_NAMESPACE: dify
ANALYTICDB_NAMESPACE_PASSWORD: difypassword
ANALYTICDB_PASSWORD: testpassword
ANALYTICDB_PORT: "5432"
ANALYTICDB_REGION_ID: cn-hangzhou
ANNOTATION_IMPORT_FILE_SIZE_LIMIT: "2"
ANNOTATION_IMPORT_MAX_CONCURRENT: "5"
ANNOTATION_IMPORT_MAX_RECORDS: "10000"
ANNOTATION_IMPORT_MIN_RECORDS: "1"
ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR: "20"
ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE: "5"
API_SENTRY_DSN: ""
API_SENTRY_PROFILES_SAMPLE_RATE: "1.0"
API_SENTRY_TRACES_SAMPLE_RATE: "1.0"
API_TOOL_DEFAULT_CONNECT_TIMEOUT: "10"
API_TOOL_DEFAULT_READ_TIMEOUT: "60"
API_WORKFLOW_NODE_EXECUTION_REPOSITORY: repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository
API_WORKFLOW_RUN_REPOSITORY: repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository
APP_API_URL: ""
APP_DEFAULT_ACTIVE_REQUESTS: "0"
APP_MAX_ACTIVE_REQUESTS: "0"
APP_MAX_EXECUTION_TIME: "1200"
APP_WEB_URL: ""
ARCHIVE_STORAGE_ACCESS_KEY: ""
ARCHIVE_STORAGE_ARCHIVE_BUCKET: ""
ARCHIVE_STORAGE_ENABLED: "false"
ARCHIVE_STORAGE_ENDPOINT: ""
ARCHIVE_STORAGE_EXPORT_BUCKET: ""
ARCHIVE_STORAGE_REGION: auto
ARCHIVE_STORAGE_SECRET_KEY: ""
ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT: "60"
ATTACHMENT_IMAGE_FILE_SIZE_LIMIT: "2"
AWS_ACCESS_KEY: ""
AWS_REGION: ""
AWS_SECRET_KEY: ""
AZURE_BLOB_ACCOUNT_KEY: difyai
AZURE_BLOB_ACCOUNT_NAME: difyai
AZURE_BLOB_ACCOUNT_URL: https://<your_account_name>.blob.core.windows.net
AZURE_BLOB_CONTAINER_NAME: difyai-container
AZURE_BLOB_STORAGE_CONNECTION_STRING: ""
AZURE_BLOB_STORAGE_CONTAINER_NAME: ""
BAIDU_OBS_ACCESS_KEY: your-access-key
BAIDU_OBS_BUCKET_NAME: your-bucket-name
BAIDU_OBS_ENDPOINT: your-server-url
BAIDU_OBS_SECRET_KEY: your-secret-key
BAIDU_VECTOR_DB_ACCOUNT: root
BAIDU_VECTOR_DB_API_KEY: dify
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT: "500"
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT_RATIO: "0.05"
BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS: "30000"
BAIDU_VECTOR_DB_DATABASE: dify
BAIDU_VECTOR_DB_ENDPOINT: http://127.0.0.1:5287
BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER: DEFAULT_ANALYZER
BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE: COARSE_MODE
BAIDU_VECTOR_DB_REBUILD_INDEX_TIMEOUT_IN_SECONDS: "300"
BAIDU_VECTOR_DB_REPLICAS: "3"
BAIDU_VECTOR_DB_SHARD: "1"
BROKER_USE_SSL: "false"
CELERY_AUTO_SCALE: "false"
CELERY_BACKEND: redis
CELERY_BROKER_URL: redis://:difyai123456@redis:6379/1
CELERY_MAX_WORKERS: ""
CELERY_MIN_WORKERS: ""
CELERY_SENTINEL_MASTER_NAME: ""
CELERY_SENTINEL_PASSWORD: ""
CELERY_SENTINEL_SOCKET_TIMEOUT: "0.1"
CELERY_TASK_ANNOTATIONS: "null"
CELERY_USE_SENTINEL: "false"
CELERY_WORKER_AMOUNT: "4"
CELERY_WORKER_CLASS: ""
CERTBOT_DOMAIN: your_domain.com
CERTBOT_EMAIL: your_email@example.com
CERTBOT_OPTIONS: ""
CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES: "5"
CHECK_UPDATE_URL: https://updates.dify.ai
CHROMA_AUTH_CREDENTIALS: ""
CHROMA_AUTH_PROVIDER: chromadb.auth.token_authn.TokenAuthClientProvider
CHROMA_DATABASE: default_database
CHROMA_HOST: 127.0.0.1
CHROMA_IS_PERSISTENT: "TRUE"
CHROMA_PORT: "8000"
CHROMA_SERVER_AUTHN_CREDENTIALS: difyai123456
CHROMA_SERVER_AUTHN_PROVIDER: chromadb.auth.token_authn.TokenAuthenticationServerProvider
CHROMA_TENANT: default_tenant
CLICKZETTA_ANALYZER_MODE: smart
CLICKZETTA_ANALYZER_TYPE: chinese
CLICKZETTA_BATCH_SIZE: "100"
CLICKZETTA_ENABLE_INVERTED_INDEX: "true"
CLICKZETTA_INSTANCE: ""
CLICKZETTA_PASSWORD: ""
CLICKZETTA_SCHEMA: dify
CLICKZETTA_SERVICE: api.clickzetta.com
CLICKZETTA_USERNAME: ""
CLICKZETTA_VCLUSTER: default_ap
CLICKZETTA_VECTOR_DISTANCE_FUNCTION: cosine_distance
CLICKZETTA_VOLUME_DIFY_PREFIX: dify_km
CLICKZETTA_VOLUME_NAME: ""
CLICKZETTA_VOLUME_TABLE_PREFIX: dataset_
CLICKZETTA_VOLUME_TYPE: user
CLICKZETTA_WORKSPACE: quick_start
CODE_EXECUTION_API_KEY: dify-sandbox
CODE_EXECUTION_CONNECT_TIMEOUT: "10"
CODE_EXECUTION_ENDPOINT: http://sandbox:8194
CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY: "5.0"
CODE_EXECUTION_POOL_MAX_CONNECTIONS: "100"
CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
CODE_EXECUTION_READ_TIMEOUT: "60"
CODE_EXECUTION_SSL_VERIFY: "True"
CODE_EXECUTION_WRITE_TIMEOUT: "10"
CODE_GENERATION_MAX_TOKENS: "1024"
CODE_MAX_DEPTH: "5"
CODE_MAX_NUMBER: "9223372036854775807"
CODE_MAX_NUMBER_ARRAY_LENGTH: "1000"
CODE_MAX_OBJECT_ARRAY_LENGTH: "30"
CODE_MAX_PRECISION: "20"
CODE_MAX_STRING_ARRAY_LENGTH: "30"
CODE_MAX_STRING_LENGTH: "400000"
CODE_MIN_NUMBER: "-9223372036854775808"
CONSOLE_API_URL: ""
CONSOLE_API_URL_NEW: ""
CONSOLE_CORS_ALLOW_ORIGINS: '*'
CONSOLE_WEB_URL: ""
COOKIE_DOMAIN: ""
CORE_WORKFLOW_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository
CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository
COUCHBASE_BUCKET_NAME: Embeddings
COUCHBASE_CONNECTION_STRING: couchbase://couchbase-server
COUCHBASE_PASSWORD: password
COUCHBASE_SCOPE_NAME: _default
COUCHBASE_USER: Administrator
CREATE_TIDB_SERVICE_JOB_ENABLED: "false"
CSP_WHITELIST: ""
DATASET_MAX_SEGMENTS_PER_REQUEST: "0"
DB_DATABASE: dify_plugin
DB_HOST: db_postgres
DB_PASSWORD: difyai123456
DB_PLUGIN_DATABASE: dify_plugin
DB_PORT: "5432"
DB_SSL_MODE: disable
DB_TYPE: postgresql
DB_USERNAME: postgres
DEBUG: "false"
DEPLOY_ENV: PRODUCTION
DIFY_BIND_ADDRESS: 0.0.0.0
DIFY_INNER_API_KEY: QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
DIFY_INNER_API_URL: http://api:5001
DIFY_PORT: "5001"
DSL_EXPORT_ENCRYPT_DATASET_ID: "true"
ELASTICSEARCH_API_KEY: YOUR-ELASTICSEARCH_API_KEY
ELASTICSEARCH_CA_CERTS: ""
ELASTICSEARCH_CLOUD_URL: YOUR-ELASTICSEARCH_CLOUD_URL
ELASTICSEARCH_HOST: 0.0.0.0
ELASTICSEARCH_MAX_RETRIES: "10"
ELASTICSEARCH_PASSWORD: elastic
ELASTICSEARCH_PORT: "9200"
ELASTICSEARCH_REQUEST_TIMEOUT: "100000"
ELASTICSEARCH_RETRY_ON_TIMEOUT: "True"
ELASTICSEARCH_USE_CLOUD: "false"
ELASTICSEARCH_USERNAME: elastic
ELASTICSEARCH_VERIFY_CERTS: "False"
EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES: "5"
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK: "true"
ENABLE_CLEAN_EMBEDDING_CACHE_TASK: "false"
ENABLE_CLEAN_MESSAGES: "false"
ENABLE_CLEAN_UNUSED_DATASETS_TASK: "false"
ENABLE_COLLABORATION_MODE: "false"
ENABLE_CREATE_TIDB_SERVERLESS_TASK: "false"
ENABLE_DATASETS_QUEUE_MONITOR: "false"
ENABLE_HUMAN_INPUT_TIMEOUT_TASK: "true"
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK: "false"
ENABLE_OTEL: "false"
ENABLE_REQUEST_LOGGING: "False"
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK: "false"
ENABLE_WEBSITE_FIRECRAWL: "true"
ENABLE_WEBSITE_JINAREADER: "true"
ENABLE_WEBSITE_WATERCRAWL: "true"
ENABLE_WORKFLOW_RUN_CLEANUP_TASK: "false"
ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK: "true"
ENDPOINT_URL_TEMPLATE: http://localhost/e/{hook_id}
ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES: "true"
ETCD_AUTO_COMPACTION_MODE: revision
ETCD_AUTO_COMPACTION_RETENTION: "1000"
ETCD_ENDPOINTS: etcd:2379
ETCD_QUOTA_BACKEND_BYTES: "4294967296"
ETCD_SNAPSHOT_COUNT: "50000"
ETL_TYPE: dify
EVENT_BUS_REDIS_CHANNEL_TYPE: pubsub
EVENT_BUS_REDIS_URL: ""
EVENT_BUS_REDIS_USE_CLUSTERS: "false"
EXPERIMENTAL_ENABLE_VINEXT: "false"
EXPOSE_NGINX_PORT: "80"
EXPOSE_NGINX_SSL_PORT: "443"
EXPOSE_PLUGIN_DAEMON_PORT: "5002"
EXPOSE_PLUGIN_DEBUGGING_HOST: localhost
EXPOSE_PLUGIN_DEBUGGING_PORT: "5003"
FILES_ACCESS_TIMEOUT: "300"
FILES_URL: ""
FLASK_DEBUG: "false"
FORCE_VERIFYING_SIGNATURE: "true"
GOOGLE_STORAGE_BUCKET_NAME: your-bucket-name
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ""
GRAPH_ENGINE_MAX_WORKERS: "10"
GRAPH_ENGINE_MIN_WORKERS: "1"
GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME: "5.0"
GRAPH_ENGINE_SCALE_UP_THRESHOLD: "3"
GUNICORN_TIMEOUT: "360"
HOLOGRES_ACCESS_KEY_ID: ""
HOLOGRES_ACCESS_KEY_SECRET: ""
HOLOGRES_BASE_QUANTIZATION_TYPE: rabitq
HOLOGRES_DATABASE: ""
HOLOGRES_DISTANCE_METHOD: Cosine
HOLOGRES_EF_CONSTRUCTION: "400"
HOLOGRES_HOST: ""
HOLOGRES_MAX_DEGREE: "64"
HOLOGRES_PORT: "80"
HOLOGRES_SCHEMA: public
HOLOGRES_TOKENIZER: jieba
HTTP_REQUEST_MAX_CONNECT_TIMEOUT: "10"
HTTP_REQUEST_MAX_READ_TIMEOUT: "600"
HTTP_REQUEST_MAX_WRITE_TIMEOUT: "600"
HTTP_REQUEST_NODE_MAX_BINARY_SIZE: "10485760"
HTTP_REQUEST_NODE_MAX_TEXT_SIZE: "1048576"
HTTP_REQUEST_NODE_SSL_VERIFY: "True"
HUAWEI_CLOUD_HOSTS: https://127.0.0.1:9200
HUAWEI_CLOUD_PASSWORD: admin
HUAWEI_CLOUD_USER: admin
HUAWEI_OBS_ACCESS_KEY: your-access-key
HUAWEI_OBS_BUCKET_NAME: your-bucket-name
HUAWEI_OBS_PATH_STYLE: "false"
HUAWEI_OBS_SECRET_KEY: your-secret-key
HUAWEI_OBS_SERVER: your-server-url
HUMAN_INPUT_TIMEOUT_TASK_INTERVAL: "1"
IMAGE_FILE_BATCH_LIMIT: "10"
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: "4000"
INIT_PASSWORD: ""
INTERNAL_FILES_URL: ""
INVITE_EXPIRY_HOURS: "72"
IRIS_CONNECTION_URL: ""
IRIS_DATABASE: USER
IRIS_HOST: iris
IRIS_MAX_CONNECTION: "3"
IRIS_MIN_CONNECTION: "1"
IRIS_PASSWORD: Dify@1234
IRIS_SCHEMA: dify
IRIS_SUPER_SERVER_PORT: "1972"
IRIS_TEXT_INDEX: "true"
IRIS_TEXT_INDEX_LANGUAGE: en
IRIS_TIMEZONE: UTC
IRIS_USER: _SYSTEM
IRIS_WEB_SERVER_PORT: "52773"
KIBANA_PORT: "5601"
LANG: C.UTF-8
LC_ALL: C.UTF-8
LINDORM_PASSWORD: admin
LINDORM_QUERY_TIMEOUT: "1"
LINDORM_URL: http://localhost:30070
LINDORM_USERNAME: admin
LINDORM_USING_UGC: "True"
LOG_DATEFORMAT: '%Y-%m-%d %H:%M:%S'
LOG_FILE: /app/logs/server.log
LOG_FILE_BACKUP_COUNT: "5"
LOG_FILE_MAX_SIZE: "20"
LOG_LEVEL: INFO
LOG_OUTPUT_FORMAT: text
LOG_TZ: UTC
LOGSTORE_DUAL_READ_ENABLED: "true"
LOGSTORE_DUAL_WRITE_ENABLED: "false"
LOGSTORE_ENABLE_PUT_GRAPH_FIELD: "true"
LOOP_NODE_MAX_COUNT: "100"
MAIL_DEFAULT_SEND_FROM: ""
MAIL_TYPE: resend
MARKETPLACE_API_URL: https://marketplace.dify.ai
MARKETPLACE_ENABLED: "true"
MATRIXONE_DATABASE: dify
MATRIXONE_HOST: matrixone
MATRIXONE_PASSWORD: "111"
MATRIXONE_PORT: "6001"
MATRIXONE_USER: dump
MAX_ITERATIONS_NUM: "99"
MAX_PARALLEL_LIMIT: "10"
MAX_PLUGIN_PACKAGE_SIZE: "52428800"
MAX_SUBMIT_COUNT: "100"
MAX_TOOLS_NUM: "10"
MAX_TREE_DEPTH: "50"
MAX_VARIABLE_SIZE: "204800"
MIGRATION_ENABLED: "true"
MILVUS_ANALYZER_PARAMS: ""
MILVUS_AUTHORIZATION_ENABLED: "true"
MILVUS_DATABASE: ""
MILVUS_ENABLE_HYBRID_SEARCH: "False"
MILVUS_PASSWORD: ""
MILVUS_TOKEN: ""
MILVUS_URI: http://host.docker.internal:19530
MILVUS_USER: ""
MINIO_ACCESS_KEY: minioadmin
MINIO_ADDRESS: minio:9000
MINIO_SECRET_KEY: minioadmin
MULTIMODAL_SEND_FORMAT: base64
MYSCALE_DATABASE: dify
MYSCALE_FTS_PARAMS: ""
MYSCALE_HOST: myscale
MYSCALE_PASSWORD: ""
MYSCALE_PORT: "8123"
MYSCALE_USER: default
MYSQL_HOST_VOLUME: ./volumes/mysql/data
MYSQL_INNODB_BUFFER_POOL_SIZE: 512M
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT: "2"
MYSQL_INNODB_LOG_FILE_SIZE: 128M
MYSQL_MAX_CONNECTIONS: "1000"
NEXT_PUBLIC_BATCH_CONCURRENCY: "5"
NEXT_PUBLIC_COOKIE_DOMAIN: ""
NEXT_PUBLIC_ENABLE_SINGLE_DOLLAR_LATEX: "false"
NEXT_PUBLIC_SOCKET_URL: ws://localhost
NGINX_CLIENT_MAX_BODY_SIZE: 100M
NGINX_ENABLE_CERTBOT_CHALLENGE: "false"
NGINX_HTTPS_ENABLED: "false"
NGINX_KEEPALIVE_TIMEOUT: "65"
NGINX_PORT: "80"
NGINX_PROXY_READ_TIMEOUT: 3600s
NGINX_PROXY_SEND_TIMEOUT: 3600s
NGINX_SERVER_NAME: _
NGINX_SSL_CERT_FILENAME: dify.crt
NGINX_SSL_CERT_KEY_FILENAME: dify.key
NGINX_SSL_PORT: "443"
NGINX_SSL_PROTOCOLS: TLSv1.2 TLSv1.3
NGINX_WORKER_PROCESSES: auto
NOTION_CLIENT_ID: ""
NOTION_CLIENT_SECRET: ""
NOTION_INTEGRATION_TYPE: public
NOTION_INTERNAL_SECRET: ""
OCEANBASE_CLUSTER_NAME: difyai
OCEANBASE_ENABLE_HYBRID_SEARCH: "false"
OCEANBASE_FULLTEXT_PARSER: ik
OCEANBASE_MEMORY_LIMIT: 6G
OCEANBASE_VECTOR_DATABASE: test
OCEANBASE_VECTOR_HOST: oceanbase
OCEANBASE_VECTOR_PASSWORD: difyai123456
OCEANBASE_VECTOR_PORT: "2881"
OCEANBASE_VECTOR_USER: root@test
OCI_ACCESS_KEY: your-access-key
OCI_BUCKET_NAME: your-bucket-name
OCI_ENDPOINT: https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com
OCI_REGION: us-ashburn-1
OCI_SECRET_KEY: your-secret-key
OPENAI_API_BASE: https://api.openai.com/v1
OPENDAL_FS_ROOT: storage
OPENDAL_SCHEME: fs
OPENGAUSS_DATABASE: dify
OPENGAUSS_ENABLE_PQ: "false"
OPENGAUSS_HOST: opengauss
OPENGAUSS_MAX_CONNECTION: "5"
OPENGAUSS_MIN_CONNECTION: "1"
OPENGAUSS_PASSWORD: Dify@123
OPENGAUSS_PORT: "6600"
OPENGAUSS_USER: postgres
OPENSEARCH_AUTH_METHOD: basic
OPENSEARCH_AWS_REGION: ap-southeast-1
OPENSEARCH_AWS_SERVICE: aoss
OPENSEARCH_BOOTSTRAP_MEMORY_LOCK: "true"
OPENSEARCH_DISCOVERY_TYPE: single-node
OPENSEARCH_HOST: opensearch
OPENSEARCH_INITIAL_ADMIN_PASSWORD: Qazwsxedc!@#123
OPENSEARCH_JAVA_OPTS_MAX: 1024m
OPENSEARCH_JAVA_OPTS_MIN: 512m
OPENSEARCH_MEMLOCK_HARD: "-1"
OPENSEARCH_MEMLOCK_SOFT: "-1"
OPENSEARCH_NOFILE_HARD: "65536"
OPENSEARCH_NOFILE_SOFT: "65536"
OPENSEARCH_PASSWORD: admin
OPENSEARCH_PORT: "9200"
OPENSEARCH_SECURE: "true"
OPENSEARCH_USER: admin
OPENSEARCH_VERIFY_CERTS: "true"
ORACLE_CHARACTERSET: AL32UTF8
ORACLE_CONFIG_DIR: /app/api/storage/wallet
ORACLE_DSN: oracle:1521/FREEPDB1
ORACLE_IS_AUTONOMOUS: "false"
ORACLE_PASSWORD: dify
ORACLE_PWD: Dify123456
ORACLE_USER: dify
ORACLE_WALLET_LOCATION: /app/api/storage/wallet
ORACLE_WALLET_PASSWORD: dify
OTEL_BATCH_EXPORT_SCHEDULE_DELAY: "5000"
OTEL_BATCH_EXPORT_TIMEOUT: "10000"
OTEL_EXPORTER_OTLP_PROTOCOL: ""
OTEL_EXPORTER_TYPE: otlp
OTEL_MAX_EXPORT_BATCH_SIZE: "512"
OTEL_MAX_QUEUE_SIZE: "2048"
OTEL_METRIC_EXPORT_INTERVAL: "60000"
OTEL_METRIC_EXPORT_TIMEOUT: "30000"
OTEL_SAMPLING_RATE: "0.1"
OTLP_API_KEY: ""
OTLP_BASE_ENDPOINT: http://localhost:4318
OTLP_METRIC_ENDPOINT: ""
OTLP_TRACE_ENDPOINT: ""
OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES: "5"
PGDATA: /var/lib/postgresql/data/pgdata
PGVECTO_RS_DATABASE: dify
PGVECTO_RS_HOST: pgvecto-rs
PGVECTO_RS_PASSWORD: difyai123456
PGVECTO_RS_PORT: "5432"
PGVECTO_RS_USER: postgres
PGVECTOR_DATABASE: dify
PGVECTOR_HOST: pgvector
PGVECTOR_MAX_CONNECTION: "5"
PGVECTOR_MIN_CONNECTION: "1"
PGVECTOR_PASSWORD: difyai123456
PGVECTOR_PG_BIGM: "false"
PGVECTOR_PG_BIGM_VERSION: 1.2-20240606
PGVECTOR_PGDATA: /var/lib/postgresql/data/pgdata
PGVECTOR_PGUSER: postgres
PGVECTOR_PORT: "5432"
PGVECTOR_POSTGRES_DB: dify
PGVECTOR_POSTGRES_PASSWORD: difyai123456
PGVECTOR_USER: postgres
PIP_MIRROR_URL: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET: ""
PLUGIN_ALIYUN_OSS_AUTH_VERSION: v4
PLUGIN_ALIYUN_OSS_ENDPOINT: ""
PLUGIN_ALIYUN_OSS_PATH: ""
PLUGIN_ALIYUN_OSS_REGION: ""
PLUGIN_AWS_ACCESS_KEY: ""
PLUGIN_AWS_REGION: ""
PLUGIN_AWS_SECRET_KEY: ""
PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING: ""
PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME: ""
PLUGIN_BASED_TOKEN_COUNTING_ENABLED: "false"
PLUGIN_DAEMON_KEY: lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
PLUGIN_DAEMON_PORT: "5002"
PLUGIN_DAEMON_TIMEOUT: "600.0"
PLUGIN_DAEMON_URL: http://plugin_daemon:5002
PLUGIN_DEBUGGING_HOST: 0.0.0.0
PLUGIN_DEBUGGING_PORT: "5003"
PLUGIN_DIFY_INNER_API_KEY: QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
PLUGIN_DIFY_INNER_API_URL: http://api:5001
PLUGIN_INSTALLED_PATH: plugin
PLUGIN_MAX_EXECUTION_TIMEOUT: "600"
PLUGIN_MAX_PACKAGE_SIZE: "52428800"
PLUGIN_MEDIA_CACHE_PATH: assets
PLUGIN_MODEL_SCHEMA_CACHE_TTL: "3600"
PLUGIN_PACKAGE_CACHE_PATH: plugin_packages
PLUGIN_PPROF_ENABLED: "false"
PLUGIN_PYTHON_ENV_INIT_TIMEOUT: "120"
PLUGIN_REMOTE_INSTALLING_HOST: 0.0.0.0
PLUGIN_REMOTE_INSTALLING_PORT: "5003"
PLUGIN_S3_ENDPOINT: ""
PLUGIN_S3_USE_AWS: "false"
PLUGIN_S3_USE_AWS_MANAGED_IAM: "false"
PLUGIN_S3_USE_PATH_STYLE: "false"
PLUGIN_SENTRY_DSN: ""
PLUGIN_SENTRY_ENABLED: "false"
PLUGIN_STDIO_BUFFER_SIZE: "1024"
PLUGIN_STDIO_MAX_BUFFER_SIZE: "5242880"
PLUGIN_STORAGE_LOCAL_ROOT: /app/storage
PLUGIN_STORAGE_OSS_BUCKET: ""
PLUGIN_STORAGE_TYPE: local
PLUGIN_TENCENT_COS_REGION: ""
PLUGIN_TENCENT_COS_SECRET_ID: ""
PLUGIN_TENCENT_COS_SECRET_KEY: ""
PLUGIN_VOLCENGINE_TOS_ACCESS_KEY: ""
PLUGIN_VOLCENGINE_TOS_ENDPOINT: ""
PLUGIN_VOLCENGINE_TOS_REGION: ""
PLUGIN_VOLCENGINE_TOS_SECRET_KEY: ""
PLUGIN_WORKING_PATH: /app/storage/cwd
POSITION_PROVIDER_EXCLUDES: ""
POSITION_PROVIDER_INCLUDES: ""
POSITION_PROVIDER_PINS: ""
POSITION_TOOL_EXCLUDES: ""
POSITION_TOOL_INCLUDES: ""
POSITION_TOOL_PINS: ""
POSTGRES_EFFECTIVE_CACHE_SIZE: 4096MB
POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT: "0"
POSTGRES_MAINTENANCE_WORK_MEM: 64MB
POSTGRES_MAX_CONNECTIONS: "100"
POSTGRES_SHARED_BUFFERS: 128MB
POSTGRES_STATEMENT_TIMEOUT: "0"
POSTGRES_WORK_MEM: 4MB
PPROF_ENABLED: "false"
PROMPT_GENERATION_MAX_TOKENS: "512"
PYTHON_ENV_INIT_TIMEOUT: "120"
PYTHONIOENCODING: utf-8
QDRANT_API_KEY: difyai123456
QDRANT_CLIENT_TIMEOUT: "20"
QDRANT_GRPC_ENABLED: "false"
QDRANT_GRPC_PORT: "6334"
QDRANT_REPLICATION_FACTOR: "1"
QDRANT_URL: http://qdrant:6333
QUEUE_MONITOR_ALERT_EMAILS: ""
QUEUE_MONITOR_INTERVAL: "30"
QUEUE_MONITOR_THRESHOLD: "200"
REDIS_CLUSTERS: ""
REDIS_CLUSTERS_PASSWORD: ""
REDIS_DB: "0"
REDIS_HEALTH_CHECK_INTERVAL: "30"
REDIS_HOST: redis
REDIS_KEY_PREFIX: ""
REDIS_MAX_CONNECTIONS: ""
REDIS_PASSWORD: difyai123456
REDIS_PORT: "6379"
REDIS_RETRY_BACKOFF_BASE: "1.0"
REDIS_RETRY_BACKOFF_CAP: "10.0"
REDIS_RETRY_RETRIES: "3"
REDIS_SENTINEL_PASSWORD: ""
REDIS_SENTINEL_SERVICE_NAME: ""
REDIS_SENTINEL_SOCKET_TIMEOUT: "0.1"
REDIS_SENTINEL_USERNAME: ""
REDIS_SENTINELS: ""
REDIS_SOCKET_CONNECT_TIMEOUT: "5.0"
REDIS_SOCKET_TIMEOUT: "5.0"
REDIS_SSL_CA_CERTS: ""
REDIS_SSL_CERT_REQS: CERT_NONE
REDIS_SSL_CERTFILE: ""
REDIS_SSL_KEYFILE: ""
REDIS_USE_CLUSTERS: "false"
REDIS_USE_SENTINEL: "false"
REDIS_USE_SSL: "false"
REDIS_USERNAME: ""
REFRESH_TOKEN_EXPIRE_DAYS: "30"
RELYT_DATABASE: postgres
RELYT_HOST: db
RELYT_PASSWORD: difyai123456
RELYT_PORT: "5432"
RELYT_USER: postgres
RESEND_API_KEY: your-resend-api-key
RESEND_API_URL: https://api.resend.com
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES: "5"
RESPECT_XFORWARD_HEADERS_ENABLED: "false"
S3_ACCESS_KEY: ""
S3_ADDRESS_STYLE: auto
S3_BUCKET_NAME: difyai
S3_ENDPOINT: ""
S3_REGION: us-east-1
S3_SECRET_KEY: ""
S3_USE_AWS: "false"
S3_USE_AWS_MANAGED_IAM: "false"
S3_USE_PATH_STYLE: "false"
SANDBOX_API_KEY: dify-sandbox
SANDBOX_ENABLE_NETWORK: "true"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL: "200"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE: "1000"
SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD: "21"
SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL: "90000"
SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS: "30"
SANDBOX_GIN_MODE: release
SANDBOX_HTTP_PROXY: http://ssrf_proxy:3128
SANDBOX_HTTPS_PROXY: http://ssrf_proxy:3128
SANDBOX_PORT: "8194"
SANDBOX_WORKER_TIMEOUT: "15"
SCARF_NO_ANALYTICS: "true"
SECRET_KEY: sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U
SEEKDB_MEMORY_LIMIT: 2G
SENDGRID_API_KEY: ""
SENTRY_DSN: ""
SENTRY_ENABLED: "false"
SERVER_KEY: lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
SERVER_PORT: "5002"
SERVER_WORKER_AMOUNT: "1"
SERVER_WORKER_CLASS: gevent
SERVER_WORKER_CONNECTIONS: "10"
SERVICE_API_URL: ""
SINGLE_CHUNK_ATTACHMENT_LIMIT: "10"
SMTP_LOCAL_HOSTNAME: ""
SMTP_OPPORTUNISTIC_TLS: "false"
SMTP_PASSWORD: ""
SMTP_PORT: "465"
SMTP_SERVER: ""
SMTP_USE_TLS: "true"
SMTP_USERNAME: ""
SQLALCHEMY_ECHO: "false"
SQLALCHEMY_MAX_OVERFLOW: "10"
SQLALCHEMY_POOL_PRE_PING: "false"
SQLALCHEMY_POOL_RECYCLE: "3600"
SQLALCHEMY_POOL_SIZE: "30"
SQLALCHEMY_POOL_TIMEOUT: "30"
SQLALCHEMY_POOL_USE_LIFO: "false"
SSRF_COREDUMP_DIR: /var/spool/squid
SSRF_DEFAULT_CONNECT_TIME_OUT: "5"
SSRF_DEFAULT_READ_TIME_OUT: "5"
SSRF_DEFAULT_TIME_OUT: "5"
SSRF_DEFAULT_WRITE_TIME_OUT: "5"
SSRF_HTTP_PORT: "3128"
SSRF_POOL_KEEPALIVE_EXPIRY: "5.0"
SSRF_POOL_MAX_CONNECTIONS: "100"
SSRF_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
SSRF_PROXY_HTTP_URL: http://ssrf_proxy:3128
SSRF_PROXY_HTTPS_URL: http://ssrf_proxy:3128
SSRF_REVERSE_PROXY_PORT: "8194"
SSRF_SANDBOX_HOST: sandbox
STORAGE_TYPE: opendal
SUPABASE_API_KEY: your-access-key
SUPABASE_BUCKET_NAME: your-bucket-name
SUPABASE_URL: your-server-url
SWAGGER_UI_ENABLED: "false"
SWAGGER_UI_PATH: /swagger-ui.html
TABLESTORE_ACCESS_KEY_ID: xxx
TABLESTORE_ACCESS_KEY_SECRET: xxx
TABLESTORE_ENDPOINT: https://instance-name.cn-hangzhou.ots.aliyuncs.com
TABLESTORE_INSTANCE_NAME: instance-name
TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCORE: "false"
TEMPLATE_TRANSFORM_MAX_LENGTH: "400000"
TENANT_ISOLATED_TASK_CONCURRENCY: "1"
TENCENT_COS_BUCKET_NAME: your-bucket-name
TENCENT_COS_CUSTOM_DOMAIN: your-custom-domain
TENCENT_COS_REGION: ""
TENCENT_COS_SCHEME: your-scheme
TENCENT_COS_SECRET_ID: ""
TENCENT_COS_SECRET_KEY: ""
TENCENT_VECTOR_DB_API_KEY: dify
TENCENT_VECTOR_DB_DATABASE: dify
TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH: "false"
TENCENT_VECTOR_DB_REPLICAS: "2"
TENCENT_VECTOR_DB_SHARD: "1"
TENCENT_VECTOR_DB_TIMEOUT: "30"
TENCENT_VECTOR_DB_URL: http://127.0.0.1
TENCENT_VECTOR_DB_USERNAME: dify
TEXT_GENERATION_TIMEOUT_MS: "60000"
TIDB_API_URL: http://127.0.0.1
TIDB_IAM_API_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_ON_QDRANT_URL: http://127.0.0.1
TIDB_PRIVATE_KEY: dify
TIDB_PROJECT_ID: dify
TIDB_PUBLIC_KEY: dify
TIDB_REGION: regions/aws-us-east-1
TIDB_SPEND_LIMIT: "100"
TIDB_VECTOR_DATABASE: dify
TIDB_VECTOR_HOST: tidb
TIDB_VECTOR_PASSWORD: ""
TIDB_VECTOR_PORT: "4000"
TIDB_VECTOR_USER: ""
TOP_K_MAX_VALUE: "10"
TRIGGER_URL: http://localhost
UNSTRUCTURED_API_KEY: ""
UNSTRUCTURED_API_URL: ""
UPLOAD_AUDIO_FILE_SIZE_LIMIT: "50"
UPLOAD_FILE_BATCH_LIMIT: "5"
UPLOAD_FILE_EXTENSION_BLACKLIST: ""
UPLOAD_FILE_SIZE_LIMIT: "15"
UPLOAD_IMAGE_FILE_SIZE_LIMIT: "10"
UPLOAD_VIDEO_FILE_SIZE_LIMIT: "100"
UPSTASH_VECTOR_TOKEN: dify
UPSTASH_VECTOR_URL: https://xxx-vector.upstash.io
UV_CACHE_DIR: /tmp/.uv-cache
VASTBASE_DATABASE: dify
VASTBASE_HOST: vastbase
VASTBASE_MAX_CONNECTION: "5"
VASTBASE_MIN_CONNECTION: "1"
VASTBASE_PASSWORD: Difyai123456
VASTBASE_PORT: "5432"
VASTBASE_USER: dify
VECTOR_INDEX_NAME_PREFIX: Vector_index
VECTOR_STORE: weaviate
VIKINGDB_ACCESS_KEY: your-ak
VIKINGDB_CONNECTION_TIMEOUT: "30"
VIKINGDB_HOST: api-vikingdb.xxx.volces.com
VIKINGDB_REGION: cn-shanghai
VIKINGDB_SCHEMA: http
VIKINGDB_SECRET_KEY: your-sk
VIKINGDB_SOCKET_TIMEOUT: "30"
VOLCENGINE_TOS_ACCESS_KEY: ""
VOLCENGINE_TOS_BUCKET_NAME: your-bucket-name
VOLCENGINE_TOS_ENDPOINT: ""
VOLCENGINE_TOS_REGION: ""
VOLCENGINE_TOS_SECRET_KEY: ""
WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_APIKEY_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_USERS: hello@dify.ai
WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED: "true"
WEAVIATE_AUTHORIZATION_ADMINLIST_USERS: hello@dify.ai
WEAVIATE_CLUSTER_HOSTNAME: node1
WEAVIATE_DEFAULT_VECTORIZER_MODULE: none
WEAVIATE_DISABLE_TELEMETRY: "false"
WEAVIATE_ENABLE_TOKENIZER_GSE: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_JA: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_KR: "false"
WEAVIATE_ENDPOINT: http://weaviate:8080
WEAVIATE_GRPC_ENDPOINT: grpc://weaviate:50051
WEAVIATE_PERSISTENCE_DATA_PATH: /var/lib/weaviate
WEAVIATE_QUERY_DEFAULTS_LIMIT: "25"
WEAVIATE_TOKENIZATION: word
WEB_API_CORS_ALLOW_ORIGINS: '*'
WEB_SENTRY_DSN: ""
WEBHOOK_REQUEST_BODY_MAX_SIZE: "10485760"
WORKFLOW_CALL_MAX_DEPTH: "5"
WORKFLOW_FILE_UPLOAD_LIMIT: "10"
WORKFLOW_LOG_CLEANUP_BATCH_SIZE: "100"
WORKFLOW_LOG_CLEANUP_ENABLED: "false"
WORKFLOW_LOG_CLEANUP_SPECIFIC_WORKFLOW_IDS: ""
WORKFLOW_LOG_RETENTION_DAYS: "30"
WORKFLOW_MAX_EXECUTION_STEPS: "500"
WORKFLOW_MAX_EXECUTION_TIME: "1200"
WORKFLOW_NODE_EXECUTION_STORAGE: rdbms
WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK: "0"
WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE: "100"
WORKFLOW_SCHEDULE_POLLER_INTERVAL: "1"
image: langgenius/dify-plugin-daemon:0.5.3-local
networks:
default: null
ports:
- mode: ingress
target: 5003
published: "5003"
protocol: tcp
restart: always
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/plugin_daemon
target: /app/storage
bind: {}
redis:
command:
- redis-server
- --requirepass
- difyai123456
environment:
REDISCLI_AUTH: difyai123456
healthcheck:
test:
- CMD-SHELL
- redis-cli -a difyai123456 ping | grep -q PONG
image: redis:6-alpine
networks:
default: null
restart: always
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/redis/data
target: /data
bind: {}
sandbox:
environment:
API_KEY: dify-sandbox
ENABLE_NETWORK: "true"
GIN_MODE: release
HTTP_PROXY: http://ssrf_proxy:3128
HTTPS_PROXY: http://ssrf_proxy:3128
PIP_MIRROR_URL: ""
SANDBOX_PORT: "8194"
WORKER_TIMEOUT: "15"
healthcheck:
test:
- CMD
- curl
- -f
- http://localhost:8194/health
image: langgenius/dify-sandbox:0.2.14
networks:
ssrf_proxy_network: null
restart: always
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/sandbox/dependencies
target: /dependencies
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/sandbox/conf
target: /conf
bind: {}
ssrf_proxy:
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:
COREDUMP_DIR: /var/spool/squid
HTTP_PORT: "3128"
REVERSE_PROXY_PORT: "8194"
SANDBOX_HOST: sandbox
SANDBOX_PORT: "8194"
image: ubuntu/squid:latest
networks:
default: null
ssrf_proxy_network: null
restart: always
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/ssrf_proxy/squid.conf.template
target: /etc/squid/squid.conf.template
bind: {}
- type: bind
source: /Users/zhaohao/Dify/dify/docker/ssrf_proxy/docker-entrypoint.sh
target: /docker-entrypoint-mount.sh
bind: {}
weaviate:
profiles:
- weaviate
environment:
AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: "true"
AUTHENTICATION_APIKEY_ALLOWED_KEYS: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
AUTHENTICATION_APIKEY_ENABLED: "true"
AUTHENTICATION_APIKEY_USERS: hello@dify.ai
AUTHORIZATION_ADMINLIST_ENABLED: "true"
AUTHORIZATION_ADMINLIST_USERS: hello@dify.ai
CLUSTER_HOSTNAME: node1
DEFAULT_VECTORIZER_MODULE: none
DISABLE_TELEMETRY: "false"
ENABLE_TOKENIZER_GSE: "false"
ENABLE_TOKENIZER_KAGOME_JA: "false"
ENABLE_TOKENIZER_KAGOME_KR: "false"
PERSISTENCE_DATA_PATH: /var/lib/weaviate
QUERY_DEFAULTS_LIMIT: "25"
image: semitechnologies/weaviate:1.27.0
networks:
default: null
restart: always
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/weaviate
target: /var/lib/weaviate
bind: {}
web:
environment:
ALLOW_EMBED: "false"
ALLOW_INLINE_STYLES: "false"
ALLOW_UNSAFE_DATA_SCHEME: "false"
AMPLITUDE_API_KEY: ""
APP_API_URL: ""
CONSOLE_API_URL: ""
CSP_WHITELIST: ""
ENABLE_WEBSITE_FIRECRAWL: "true"
ENABLE_WEBSITE_JINAREADER: "true"
ENABLE_WEBSITE_WATERCRAWL: "true"
EXPERIMENTAL_ENABLE_VINEXT: "false"
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: "4000"
LOOP_NODE_MAX_COUNT: "100"
MARKETPLACE_API_URL: https://marketplace.dify.ai
MARKETPLACE_URL: https://marketplace.dify.ai
MAX_ITERATIONS_NUM: "99"
MAX_PARALLEL_LIMIT: "10"
MAX_TOOLS_NUM: "10"
MAX_TREE_DEPTH: "50"
NEXT_PUBLIC_COOKIE_DOMAIN: ""
NEXT_PUBLIC_SOCKET_URL: ws://localhost
NEXT_TELEMETRY_DISABLED: "0"
SENTRY_DSN: ""
TEXT_GENERATION_TIMEOUT_MS: "60000"
TOP_K_MAX_VALUE: "10"
image: langgenius/dify-web:1.13.3
networks:
default: null
restart: always
worker:
depends_on:
db_mysql:
condition: service_healthy
required: false
db_postgres:
condition: service_healthy
required: false
init_permissions:
condition: service_completed_successfully
required: true
oceanbase:
condition: service_healthy
required: false
redis:
condition: service_started
required: true
seekdb:
condition: service_healthy
required: false
environment:
ACCESS_TOKEN_EXPIRE_MINUTES: "600"
ALIBABACLOUD_MYSQL_DATABASE: dify
ALIBABACLOUD_MYSQL_HNSW_M: "6"
ALIBABACLOUD_MYSQL_HOST: 127.0.0.1
ALIBABACLOUD_MYSQL_MAX_CONNECTION: "5"
ALIBABACLOUD_MYSQL_PASSWORD: difyai123456
ALIBABACLOUD_MYSQL_PORT: "3306"
ALIBABACLOUD_MYSQL_USER: root
ALIYUN_OSS_ACCESS_KEY: your-access-key
ALIYUN_OSS_AUTH_VERSION: v4
ALIYUN_OSS_BUCKET_NAME: your-bucket-name
ALIYUN_OSS_ENDPOINT: https://oss-ap-southeast-1-internal.aliyuncs.com
ALIYUN_OSS_PATH: your-path
ALIYUN_OSS_REGION: ap-southeast-1
ALIYUN_OSS_SECRET_KEY: your-secret-key
ALIYUN_SLS_ACCESS_KEY_ID: ""
ALIYUN_SLS_ACCESS_KEY_SECRET: ""
ALIYUN_SLS_ENDPOINT: ""
ALIYUN_SLS_LOGSTORE_TTL: "365"
ALIYUN_SLS_PROJECT_NAME: ""
ALIYUN_SLS_REGION: ""
ALLOW_EMBED: "false"
ALLOW_INLINE_STYLES: "false"
ALLOW_UNSAFE_DATA_SCHEME: "false"
AMPLITUDE_API_KEY: ""
ANALYTICDB_ACCOUNT: testaccount
ANALYTICDB_HOST: gp-test.aliyuncs.com
ANALYTICDB_INSTANCE_ID: gp-ab123456
ANALYTICDB_KEY_ID: your-ak
ANALYTICDB_KEY_SECRET: your-sk
ANALYTICDB_MAX_CONNECTION: "5"
ANALYTICDB_MIN_CONNECTION: "1"
ANALYTICDB_NAMESPACE: dify
ANALYTICDB_NAMESPACE_PASSWORD: difypassword
ANALYTICDB_PASSWORD: testpassword
ANALYTICDB_PORT: "5432"
ANALYTICDB_REGION_ID: cn-hangzhou
ANNOTATION_IMPORT_FILE_SIZE_LIMIT: "2"
ANNOTATION_IMPORT_MAX_CONCURRENT: "5"
ANNOTATION_IMPORT_MAX_RECORDS: "10000"
ANNOTATION_IMPORT_MIN_RECORDS: "1"
ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR: "20"
ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE: "5"
API_SENTRY_DSN: ""
API_SENTRY_PROFILES_SAMPLE_RATE: "1.0"
API_SENTRY_TRACES_SAMPLE_RATE: "1.0"
API_TOOL_DEFAULT_CONNECT_TIMEOUT: "10"
API_TOOL_DEFAULT_READ_TIMEOUT: "60"
API_WORKFLOW_NODE_EXECUTION_REPOSITORY: repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository
API_WORKFLOW_RUN_REPOSITORY: repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository
APP_API_URL: ""
APP_DEFAULT_ACTIVE_REQUESTS: "0"
APP_MAX_ACTIVE_REQUESTS: "0"
APP_MAX_EXECUTION_TIME: "1200"
APP_WEB_URL: ""
ARCHIVE_STORAGE_ACCESS_KEY: ""
ARCHIVE_STORAGE_ARCHIVE_BUCKET: ""
ARCHIVE_STORAGE_ENABLED: "false"
ARCHIVE_STORAGE_ENDPOINT: ""
ARCHIVE_STORAGE_EXPORT_BUCKET: ""
ARCHIVE_STORAGE_REGION: auto
ARCHIVE_STORAGE_SECRET_KEY: ""
ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT: "60"
ATTACHMENT_IMAGE_FILE_SIZE_LIMIT: "2"
AZURE_BLOB_ACCOUNT_KEY: difyai
AZURE_BLOB_ACCOUNT_NAME: difyai
AZURE_BLOB_ACCOUNT_URL: https://<your_account_name>.blob.core.windows.net
AZURE_BLOB_CONTAINER_NAME: difyai-container
BAIDU_OBS_ACCESS_KEY: your-access-key
BAIDU_OBS_BUCKET_NAME: your-bucket-name
BAIDU_OBS_ENDPOINT: your-server-url
BAIDU_OBS_SECRET_KEY: your-secret-key
BAIDU_VECTOR_DB_ACCOUNT: root
BAIDU_VECTOR_DB_API_KEY: dify
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT: "500"
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT_RATIO: "0.05"
BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS: "30000"
BAIDU_VECTOR_DB_DATABASE: dify
BAIDU_VECTOR_DB_ENDPOINT: http://127.0.0.1:5287
BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER: DEFAULT_ANALYZER
BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE: COARSE_MODE
BAIDU_VECTOR_DB_REBUILD_INDEX_TIMEOUT_IN_SECONDS: "300"
BAIDU_VECTOR_DB_REPLICAS: "3"
BAIDU_VECTOR_DB_SHARD: "1"
BROKER_USE_SSL: "false"
CELERY_AUTO_SCALE: "false"
CELERY_BACKEND: redis
CELERY_BROKER_URL: redis://:difyai123456@redis:6379/1
CELERY_MAX_WORKERS: ""
CELERY_MIN_WORKERS: ""
CELERY_SENTINEL_MASTER_NAME: ""
CELERY_SENTINEL_PASSWORD: ""
CELERY_SENTINEL_SOCKET_TIMEOUT: "0.1"
CELERY_TASK_ANNOTATIONS: "null"
CELERY_USE_SENTINEL: "false"
CELERY_WORKER_AMOUNT: "4"
CELERY_WORKER_CLASS: ""
CERTBOT_DOMAIN: your_domain.com
CERTBOT_EMAIL: your_email@example.com
CERTBOT_OPTIONS: ""
CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES: "5"
CHECK_UPDATE_URL: https://updates.dify.ai
CHROMA_AUTH_CREDENTIALS: ""
CHROMA_AUTH_PROVIDER: chromadb.auth.token_authn.TokenAuthClientProvider
CHROMA_DATABASE: default_database
CHROMA_HOST: 127.0.0.1
CHROMA_IS_PERSISTENT: "TRUE"
CHROMA_PORT: "8000"
CHROMA_SERVER_AUTHN_CREDENTIALS: difyai123456
CHROMA_SERVER_AUTHN_PROVIDER: chromadb.auth.token_authn.TokenAuthenticationServerProvider
CHROMA_TENANT: default_tenant
CLICKZETTA_ANALYZER_MODE: smart
CLICKZETTA_ANALYZER_TYPE: chinese
CLICKZETTA_BATCH_SIZE: "100"
CLICKZETTA_ENABLE_INVERTED_INDEX: "true"
CLICKZETTA_INSTANCE: ""
CLICKZETTA_PASSWORD: ""
CLICKZETTA_SCHEMA: dify
CLICKZETTA_SERVICE: api.clickzetta.com
CLICKZETTA_USERNAME: ""
CLICKZETTA_VCLUSTER: default_ap
CLICKZETTA_VECTOR_DISTANCE_FUNCTION: cosine_distance
CLICKZETTA_VOLUME_DIFY_PREFIX: dify_km
CLICKZETTA_VOLUME_NAME: ""
CLICKZETTA_VOLUME_TABLE_PREFIX: dataset_
CLICKZETTA_VOLUME_TYPE: user
CLICKZETTA_WORKSPACE: quick_start
CODE_EXECUTION_API_KEY: dify-sandbox
CODE_EXECUTION_CONNECT_TIMEOUT: "10"
CODE_EXECUTION_ENDPOINT: http://sandbox:8194
CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY: "5.0"
CODE_EXECUTION_POOL_MAX_CONNECTIONS: "100"
CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
CODE_EXECUTION_READ_TIMEOUT: "60"
CODE_EXECUTION_SSL_VERIFY: "True"
CODE_EXECUTION_WRITE_TIMEOUT: "10"
CODE_GENERATION_MAX_TOKENS: "1024"
CODE_MAX_DEPTH: "5"
CODE_MAX_NUMBER: "9223372036854775807"
CODE_MAX_NUMBER_ARRAY_LENGTH: "1000"
CODE_MAX_OBJECT_ARRAY_LENGTH: "30"
CODE_MAX_PRECISION: "20"
CODE_MAX_STRING_ARRAY_LENGTH: "30"
CODE_MAX_STRING_LENGTH: "400000"
CODE_MIN_NUMBER: "-9223372036854775808"
CONSOLE_API_URL: ""
CONSOLE_API_URL_NEW: ""
CONSOLE_CORS_ALLOW_ORIGINS: '*'
CONSOLE_WEB_URL: ""
COOKIE_DOMAIN: ""
CORE_WORKFLOW_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository
CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository
COUCHBASE_BUCKET_NAME: Embeddings
COUCHBASE_CONNECTION_STRING: couchbase://couchbase-server
COUCHBASE_PASSWORD: password
COUCHBASE_SCOPE_NAME: _default
COUCHBASE_USER: Administrator
CREATE_TIDB_SERVICE_JOB_ENABLED: "false"
CSP_WHITELIST: ""
DATASET_MAX_SEGMENTS_PER_REQUEST: "0"
DB_DATABASE: dify
DB_HOST: db_postgres
DB_PASSWORD: difyai123456
DB_PLUGIN_DATABASE: dify_plugin
DB_PORT: "5432"
DB_TYPE: postgresql
DB_USERNAME: postgres
DEBUG: "false"
DEPLOY_ENV: PRODUCTION
DIFY_BIND_ADDRESS: 0.0.0.0
DIFY_PORT: "5001"
DSL_EXPORT_ENCRYPT_DATASET_ID: "true"
ELASTICSEARCH_API_KEY: YOUR-ELASTICSEARCH_API_KEY
ELASTICSEARCH_CA_CERTS: ""
ELASTICSEARCH_CLOUD_URL: YOUR-ELASTICSEARCH_CLOUD_URL
ELASTICSEARCH_HOST: 0.0.0.0
ELASTICSEARCH_MAX_RETRIES: "10"
ELASTICSEARCH_PASSWORD: elastic
ELASTICSEARCH_PORT: "9200"
ELASTICSEARCH_REQUEST_TIMEOUT: "100000"
ELASTICSEARCH_RETRY_ON_TIMEOUT: "True"
ELASTICSEARCH_USE_CLOUD: "false"
ELASTICSEARCH_USERNAME: elastic
ELASTICSEARCH_VERIFY_CERTS: "False"
EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES: "5"
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK: "true"
ENABLE_CLEAN_EMBEDDING_CACHE_TASK: "false"
ENABLE_CLEAN_MESSAGES: "false"
ENABLE_CLEAN_UNUSED_DATASETS_TASK: "false"
ENABLE_COLLABORATION_MODE: "false"
ENABLE_CREATE_TIDB_SERVERLESS_TASK: "false"
ENABLE_DATASETS_QUEUE_MONITOR: "false"
ENABLE_HUMAN_INPUT_TIMEOUT_TASK: "true"
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK: "false"
ENABLE_OTEL: "false"
ENABLE_REQUEST_LOGGING: "False"
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK: "false"
ENABLE_WEBSITE_FIRECRAWL: "true"
ENABLE_WEBSITE_JINAREADER: "true"
ENABLE_WEBSITE_WATERCRAWL: "true"
ENABLE_WORKFLOW_RUN_CLEANUP_TASK: "false"
ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK: "true"
ENDPOINT_URL_TEMPLATE: http://localhost/e/{hook_id}
ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES: "true"
ETCD_AUTO_COMPACTION_MODE: revision
ETCD_AUTO_COMPACTION_RETENTION: "1000"
ETCD_ENDPOINTS: etcd:2379
ETCD_QUOTA_BACKEND_BYTES: "4294967296"
ETCD_SNAPSHOT_COUNT: "50000"
ETL_TYPE: dify
EVENT_BUS_REDIS_CHANNEL_TYPE: pubsub
EVENT_BUS_REDIS_URL: ""
EVENT_BUS_REDIS_USE_CLUSTERS: "false"
EXPERIMENTAL_ENABLE_VINEXT: "false"
EXPOSE_NGINX_PORT: "80"
EXPOSE_NGINX_SSL_PORT: "443"
EXPOSE_PLUGIN_DAEMON_PORT: "5002"
EXPOSE_PLUGIN_DEBUGGING_HOST: localhost
EXPOSE_PLUGIN_DEBUGGING_PORT: "5003"
FILES_ACCESS_TIMEOUT: "300"
FILES_URL: ""
FLASK_DEBUG: "false"
FORCE_VERIFYING_SIGNATURE: "true"
GOOGLE_STORAGE_BUCKET_NAME: your-bucket-name
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ""
GRAPH_ENGINE_MAX_WORKERS: "10"
GRAPH_ENGINE_MIN_WORKERS: "1"
GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME: "5.0"
GRAPH_ENGINE_SCALE_UP_THRESHOLD: "3"
GUNICORN_TIMEOUT: "360"
HOLOGRES_ACCESS_KEY_ID: ""
HOLOGRES_ACCESS_KEY_SECRET: ""
HOLOGRES_BASE_QUANTIZATION_TYPE: rabitq
HOLOGRES_DATABASE: ""
HOLOGRES_DISTANCE_METHOD: Cosine
HOLOGRES_EF_CONSTRUCTION: "400"
HOLOGRES_HOST: ""
HOLOGRES_MAX_DEGREE: "64"
HOLOGRES_PORT: "80"
HOLOGRES_SCHEMA: public
HOLOGRES_TOKENIZER: jieba
HTTP_REQUEST_MAX_CONNECT_TIMEOUT: "10"
HTTP_REQUEST_MAX_READ_TIMEOUT: "600"
HTTP_REQUEST_MAX_WRITE_TIMEOUT: "600"
HTTP_REQUEST_NODE_MAX_BINARY_SIZE: "10485760"
HTTP_REQUEST_NODE_MAX_TEXT_SIZE: "1048576"
HTTP_REQUEST_NODE_SSL_VERIFY: "True"
HUAWEI_CLOUD_HOSTS: https://127.0.0.1:9200
HUAWEI_CLOUD_PASSWORD: admin
HUAWEI_CLOUD_USER: admin
HUAWEI_OBS_ACCESS_KEY: your-access-key
HUAWEI_OBS_BUCKET_NAME: your-bucket-name
HUAWEI_OBS_PATH_STYLE: "false"
HUAWEI_OBS_SECRET_KEY: your-secret-key
HUAWEI_OBS_SERVER: your-server-url
HUMAN_INPUT_TIMEOUT_TASK_INTERVAL: "1"
IMAGE_FILE_BATCH_LIMIT: "10"
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: "4000"
INIT_PASSWORD: ""
INNER_API_KEY_FOR_PLUGIN: QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
INTERNAL_FILES_URL: ""
INVITE_EXPIRY_HOURS: "72"
IRIS_CONNECTION_URL: ""
IRIS_DATABASE: USER
IRIS_HOST: iris
IRIS_MAX_CONNECTION: "3"
IRIS_MIN_CONNECTION: "1"
IRIS_PASSWORD: Dify@1234
IRIS_SCHEMA: dify
IRIS_SUPER_SERVER_PORT: "1972"
IRIS_TEXT_INDEX: "true"
IRIS_TEXT_INDEX_LANGUAGE: en
IRIS_TIMEZONE: UTC
IRIS_USER: _SYSTEM
IRIS_WEB_SERVER_PORT: "52773"
KIBANA_PORT: "5601"
LANG: C.UTF-8
LC_ALL: C.UTF-8
LINDORM_PASSWORD: admin
LINDORM_QUERY_TIMEOUT: "1"
LINDORM_URL: http://localhost:30070
LINDORM_USERNAME: admin
LINDORM_USING_UGC: "True"
LOG_DATEFORMAT: '%Y-%m-%d %H:%M:%S'
LOG_FILE: /app/logs/server.log
LOG_FILE_BACKUP_COUNT: "5"
LOG_FILE_MAX_SIZE: "20"
LOG_LEVEL: INFO
LOG_OUTPUT_FORMAT: text
LOG_TZ: UTC
LOGSTORE_DUAL_READ_ENABLED: "true"
LOGSTORE_DUAL_WRITE_ENABLED: "false"
LOGSTORE_ENABLE_PUT_GRAPH_FIELD: "true"
LOOP_NODE_MAX_COUNT: "100"
MAIL_DEFAULT_SEND_FROM: ""
MAIL_TYPE: resend
MARKETPLACE_API_URL: https://marketplace.dify.ai
MARKETPLACE_ENABLED: "true"
MATRIXONE_DATABASE: dify
MATRIXONE_HOST: matrixone
MATRIXONE_PASSWORD: "111"
MATRIXONE_PORT: "6001"
MATRIXONE_USER: dump
MAX_ITERATIONS_NUM: "99"
MAX_PARALLEL_LIMIT: "10"
MAX_SUBMIT_COUNT: "100"
MAX_TOOLS_NUM: "10"
MAX_TREE_DEPTH: "50"
MAX_VARIABLE_SIZE: "204800"
MIGRATION_ENABLED: "true"
MILVUS_ANALYZER_PARAMS: ""
MILVUS_AUTHORIZATION_ENABLED: "true"
MILVUS_DATABASE: ""
MILVUS_ENABLE_HYBRID_SEARCH: "False"
MILVUS_PASSWORD: ""
MILVUS_TOKEN: ""
MILVUS_URI: http://host.docker.internal:19530
MILVUS_USER: ""
MINIO_ACCESS_KEY: minioadmin
MINIO_ADDRESS: minio:9000
MINIO_SECRET_KEY: minioadmin
MODE: worker
MULTIMODAL_SEND_FORMAT: base64
MYSCALE_DATABASE: dify
MYSCALE_FTS_PARAMS: ""
MYSCALE_HOST: myscale
MYSCALE_PASSWORD: ""
MYSCALE_PORT: "8123"
MYSCALE_USER: default
MYSQL_HOST_VOLUME: ./volumes/mysql/data
MYSQL_INNODB_BUFFER_POOL_SIZE: 512M
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT: "2"
MYSQL_INNODB_LOG_FILE_SIZE: 128M
MYSQL_MAX_CONNECTIONS: "1000"
NEXT_PUBLIC_BATCH_CONCURRENCY: "5"
NEXT_PUBLIC_COOKIE_DOMAIN: ""
NEXT_PUBLIC_ENABLE_SINGLE_DOLLAR_LATEX: "false"
NEXT_PUBLIC_SOCKET_URL: ws://localhost
NGINX_CLIENT_MAX_BODY_SIZE: 100M
NGINX_ENABLE_CERTBOT_CHALLENGE: "false"
NGINX_HTTPS_ENABLED: "false"
NGINX_KEEPALIVE_TIMEOUT: "65"
NGINX_PORT: "80"
NGINX_PROXY_READ_TIMEOUT: 3600s
NGINX_PROXY_SEND_TIMEOUT: 3600s
NGINX_SERVER_NAME: _
NGINX_SSL_CERT_FILENAME: dify.crt
NGINX_SSL_CERT_KEY_FILENAME: dify.key
NGINX_SSL_PORT: "443"
NGINX_SSL_PROTOCOLS: TLSv1.2 TLSv1.3
NGINX_WORKER_PROCESSES: auto
NOTION_CLIENT_ID: ""
NOTION_CLIENT_SECRET: ""
NOTION_INTEGRATION_TYPE: public
NOTION_INTERNAL_SECRET: ""
OCEANBASE_CLUSTER_NAME: difyai
OCEANBASE_ENABLE_HYBRID_SEARCH: "false"
OCEANBASE_FULLTEXT_PARSER: ik
OCEANBASE_MEMORY_LIMIT: 6G
OCEANBASE_VECTOR_DATABASE: test
OCEANBASE_VECTOR_HOST: oceanbase
OCEANBASE_VECTOR_PASSWORD: difyai123456
OCEANBASE_VECTOR_PORT: "2881"
OCEANBASE_VECTOR_USER: root@test
OCI_ACCESS_KEY: your-access-key
OCI_BUCKET_NAME: your-bucket-name
OCI_ENDPOINT: https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com
OCI_REGION: us-ashburn-1
OCI_SECRET_KEY: your-secret-key
OPENAI_API_BASE: https://api.openai.com/v1
OPENDAL_FS_ROOT: storage
OPENDAL_SCHEME: fs
OPENGAUSS_DATABASE: dify
OPENGAUSS_ENABLE_PQ: "false"
OPENGAUSS_HOST: opengauss
OPENGAUSS_MAX_CONNECTION: "5"
OPENGAUSS_MIN_CONNECTION: "1"
OPENGAUSS_PASSWORD: Dify@123
OPENGAUSS_PORT: "6600"
OPENGAUSS_USER: postgres
OPENSEARCH_AUTH_METHOD: basic
OPENSEARCH_AWS_REGION: ap-southeast-1
OPENSEARCH_AWS_SERVICE: aoss
OPENSEARCH_BOOTSTRAP_MEMORY_LOCK: "true"
OPENSEARCH_DISCOVERY_TYPE: single-node
OPENSEARCH_HOST: opensearch
OPENSEARCH_INITIAL_ADMIN_PASSWORD: Qazwsxedc!@#123
OPENSEARCH_JAVA_OPTS_MAX: 1024m
OPENSEARCH_JAVA_OPTS_MIN: 512m
OPENSEARCH_MEMLOCK_HARD: "-1"
OPENSEARCH_MEMLOCK_SOFT: "-1"
OPENSEARCH_NOFILE_HARD: "65536"
OPENSEARCH_NOFILE_SOFT: "65536"
OPENSEARCH_PASSWORD: admin
OPENSEARCH_PORT: "9200"
OPENSEARCH_SECURE: "true"
OPENSEARCH_USER: admin
OPENSEARCH_VERIFY_CERTS: "true"
ORACLE_CHARACTERSET: AL32UTF8
ORACLE_CONFIG_DIR: /app/api/storage/wallet
ORACLE_DSN: oracle:1521/FREEPDB1
ORACLE_IS_AUTONOMOUS: "false"
ORACLE_PASSWORD: dify
ORACLE_PWD: Dify123456
ORACLE_USER: dify
ORACLE_WALLET_LOCATION: /app/api/storage/wallet
ORACLE_WALLET_PASSWORD: dify
OTEL_BATCH_EXPORT_SCHEDULE_DELAY: "5000"
OTEL_BATCH_EXPORT_TIMEOUT: "10000"
OTEL_EXPORTER_OTLP_PROTOCOL: ""
OTEL_EXPORTER_TYPE: otlp
OTEL_MAX_EXPORT_BATCH_SIZE: "512"
OTEL_MAX_QUEUE_SIZE: "2048"
OTEL_METRIC_EXPORT_INTERVAL: "60000"
OTEL_METRIC_EXPORT_TIMEOUT: "30000"
OTEL_SAMPLING_RATE: "0.1"
OTLP_API_KEY: ""
OTLP_BASE_ENDPOINT: http://localhost:4318
OTLP_METRIC_ENDPOINT: ""
OTLP_TRACE_ENDPOINT: ""
OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES: "5"
PGDATA: /var/lib/postgresql/data/pgdata
PGVECTO_RS_DATABASE: dify
PGVECTO_RS_HOST: pgvecto-rs
PGVECTO_RS_PASSWORD: difyai123456
PGVECTO_RS_PORT: "5432"
PGVECTO_RS_USER: postgres
PGVECTOR_DATABASE: dify
PGVECTOR_HOST: pgvector
PGVECTOR_MAX_CONNECTION: "5"
PGVECTOR_MIN_CONNECTION: "1"
PGVECTOR_PASSWORD: difyai123456
PGVECTOR_PG_BIGM: "false"
PGVECTOR_PG_BIGM_VERSION: 1.2-20240606
PGVECTOR_PGDATA: /var/lib/postgresql/data/pgdata
PGVECTOR_PGUSER: postgres
PGVECTOR_PORT: "5432"
PGVECTOR_POSTGRES_DB: dify
PGVECTOR_POSTGRES_PASSWORD: difyai123456
PGVECTOR_USER: postgres
PIP_MIRROR_URL: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET: ""
PLUGIN_ALIYUN_OSS_AUTH_VERSION: v4
PLUGIN_ALIYUN_OSS_ENDPOINT: ""
PLUGIN_ALIYUN_OSS_PATH: ""
PLUGIN_ALIYUN_OSS_REGION: ""
PLUGIN_AWS_ACCESS_KEY: ""
PLUGIN_AWS_REGION: ""
PLUGIN_AWS_SECRET_KEY: ""
PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING: ""
PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME: ""
PLUGIN_BASED_TOKEN_COUNTING_ENABLED: "false"
PLUGIN_DAEMON_KEY: lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
PLUGIN_DAEMON_PORT: "5002"
PLUGIN_DAEMON_TIMEOUT: "600.0"
PLUGIN_DAEMON_URL: http://plugin_daemon:5002
PLUGIN_DEBUGGING_HOST: 0.0.0.0
PLUGIN_DEBUGGING_PORT: "5003"
PLUGIN_DIFY_INNER_API_KEY: QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
PLUGIN_DIFY_INNER_API_URL: http://api:5001
PLUGIN_INSTALLED_PATH: plugin
PLUGIN_MAX_EXECUTION_TIMEOUT: "600"
PLUGIN_MAX_PACKAGE_SIZE: "52428800"
PLUGIN_MEDIA_CACHE_PATH: assets
PLUGIN_MODEL_SCHEMA_CACHE_TTL: "3600"
PLUGIN_PACKAGE_CACHE_PATH: plugin_packages
PLUGIN_PPROF_ENABLED: "false"
PLUGIN_PYTHON_ENV_INIT_TIMEOUT: "120"
PLUGIN_S3_ENDPOINT: ""
PLUGIN_S3_USE_AWS: "false"
PLUGIN_S3_USE_AWS_MANAGED_IAM: "false"
PLUGIN_S3_USE_PATH_STYLE: "false"
PLUGIN_SENTRY_DSN: ""
PLUGIN_SENTRY_ENABLED: "false"
PLUGIN_STDIO_BUFFER_SIZE: "1024"
PLUGIN_STDIO_MAX_BUFFER_SIZE: "5242880"
PLUGIN_STORAGE_LOCAL_ROOT: /app/storage
PLUGIN_STORAGE_OSS_BUCKET: ""
PLUGIN_STORAGE_TYPE: local
PLUGIN_TENCENT_COS_REGION: ""
PLUGIN_TENCENT_COS_SECRET_ID: ""
PLUGIN_TENCENT_COS_SECRET_KEY: ""
PLUGIN_VOLCENGINE_TOS_ACCESS_KEY: ""
PLUGIN_VOLCENGINE_TOS_ENDPOINT: ""
PLUGIN_VOLCENGINE_TOS_REGION: ""
PLUGIN_VOLCENGINE_TOS_SECRET_KEY: ""
PLUGIN_WORKING_PATH: /app/storage/cwd
POSITION_PROVIDER_EXCLUDES: ""
POSITION_PROVIDER_INCLUDES: ""
POSITION_PROVIDER_PINS: ""
POSITION_TOOL_EXCLUDES: ""
POSITION_TOOL_INCLUDES: ""
POSITION_TOOL_PINS: ""
POSTGRES_EFFECTIVE_CACHE_SIZE: 4096MB
POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT: "0"
POSTGRES_MAINTENANCE_WORK_MEM: 64MB
POSTGRES_MAX_CONNECTIONS: "100"
POSTGRES_SHARED_BUFFERS: 128MB
POSTGRES_STATEMENT_TIMEOUT: "0"
POSTGRES_WORK_MEM: 4MB
PROMPT_GENERATION_MAX_TOKENS: "512"
PYTHONIOENCODING: utf-8
QDRANT_API_KEY: difyai123456
QDRANT_CLIENT_TIMEOUT: "20"
QDRANT_GRPC_ENABLED: "false"
QDRANT_GRPC_PORT: "6334"
QDRANT_REPLICATION_FACTOR: "1"
QDRANT_URL: http://qdrant:6333
QUEUE_MONITOR_ALERT_EMAILS: ""
QUEUE_MONITOR_INTERVAL: "30"
QUEUE_MONITOR_THRESHOLD: "200"
REDIS_CLUSTERS: ""
REDIS_CLUSTERS_PASSWORD: ""
REDIS_DB: "0"
REDIS_HEALTH_CHECK_INTERVAL: "30"
REDIS_HOST: redis
REDIS_KEY_PREFIX: ""
REDIS_MAX_CONNECTIONS: ""
REDIS_PASSWORD: difyai123456
REDIS_PORT: "6379"
REDIS_RETRY_BACKOFF_BASE: "1.0"
REDIS_RETRY_BACKOFF_CAP: "10.0"
REDIS_RETRY_RETRIES: "3"
REDIS_SENTINEL_PASSWORD: ""
REDIS_SENTINEL_SERVICE_NAME: ""
REDIS_SENTINEL_SOCKET_TIMEOUT: "0.1"
REDIS_SENTINEL_USERNAME: ""
REDIS_SENTINELS: ""
REDIS_SOCKET_CONNECT_TIMEOUT: "5.0"
REDIS_SOCKET_TIMEOUT: "5.0"
REDIS_SSL_CA_CERTS: ""
REDIS_SSL_CERT_REQS: CERT_NONE
REDIS_SSL_CERTFILE: ""
REDIS_SSL_KEYFILE: ""
REDIS_USE_CLUSTERS: "false"
REDIS_USE_SENTINEL: "false"
REDIS_USE_SSL: "false"
REDIS_USERNAME: ""
REFRESH_TOKEN_EXPIRE_DAYS: "30"
RELYT_DATABASE: postgres
RELYT_HOST: db
RELYT_PASSWORD: difyai123456
RELYT_PORT: "5432"
RELYT_USER: postgres
RESEND_API_KEY: your-resend-api-key
RESEND_API_URL: https://api.resend.com
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES: "5"
RESPECT_XFORWARD_HEADERS_ENABLED: "false"
S3_ACCESS_KEY: ""
S3_ADDRESS_STYLE: auto
S3_BUCKET_NAME: difyai
S3_ENDPOINT: ""
S3_REGION: us-east-1
S3_SECRET_KEY: ""
S3_USE_AWS_MANAGED_IAM: "false"
SANDBOX_API_KEY: dify-sandbox
SANDBOX_ENABLE_NETWORK: "true"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL: "200"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE: "1000"
SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD: "21"
SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL: "90000"
SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS: "30"
SANDBOX_GIN_MODE: release
SANDBOX_HTTP_PROXY: http://ssrf_proxy:3128
SANDBOX_HTTPS_PROXY: http://ssrf_proxy:3128
SANDBOX_PORT: "8194"
SANDBOX_WORKER_TIMEOUT: "15"
SCARF_NO_ANALYTICS: "true"
SECRET_KEY: sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U
SEEKDB_MEMORY_LIMIT: 2G
SENDGRID_API_KEY: ""
SENTRY_DSN: ""
SENTRY_PROFILES_SAMPLE_RATE: "1.0"
SENTRY_TRACES_SAMPLE_RATE: "1.0"
SERVER_WORKER_AMOUNT: "1"
SERVER_WORKER_CLASS: gevent
SERVER_WORKER_CONNECTIONS: "10"
SERVICE_API_URL: ""
SINGLE_CHUNK_ATTACHMENT_LIMIT: "10"
SMTP_LOCAL_HOSTNAME: ""
SMTP_OPPORTUNISTIC_TLS: "false"
SMTP_PASSWORD: ""
SMTP_PORT: "465"
SMTP_SERVER: ""
SMTP_USE_TLS: "true"
SMTP_USERNAME: ""
SQLALCHEMY_ECHO: "false"
SQLALCHEMY_MAX_OVERFLOW: "10"
SQLALCHEMY_POOL_PRE_PING: "false"
SQLALCHEMY_POOL_RECYCLE: "3600"
SQLALCHEMY_POOL_SIZE: "30"
SQLALCHEMY_POOL_TIMEOUT: "30"
SQLALCHEMY_POOL_USE_LIFO: "false"
SSRF_COREDUMP_DIR: /var/spool/squid
SSRF_DEFAULT_CONNECT_TIME_OUT: "5"
SSRF_DEFAULT_READ_TIME_OUT: "5"
SSRF_DEFAULT_TIME_OUT: "5"
SSRF_DEFAULT_WRITE_TIME_OUT: "5"
SSRF_HTTP_PORT: "3128"
SSRF_POOL_KEEPALIVE_EXPIRY: "5.0"
SSRF_POOL_MAX_CONNECTIONS: "100"
SSRF_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
SSRF_PROXY_HTTP_URL: http://ssrf_proxy:3128
SSRF_PROXY_HTTPS_URL: http://ssrf_proxy:3128
SSRF_REVERSE_PROXY_PORT: "8194"
SSRF_SANDBOX_HOST: sandbox
STORAGE_TYPE: opendal
SUPABASE_API_KEY: your-access-key
SUPABASE_BUCKET_NAME: your-bucket-name
SUPABASE_URL: your-server-url
SWAGGER_UI_ENABLED: "false"
SWAGGER_UI_PATH: /swagger-ui.html
TABLESTORE_ACCESS_KEY_ID: xxx
TABLESTORE_ACCESS_KEY_SECRET: xxx
TABLESTORE_ENDPOINT: https://instance-name.cn-hangzhou.ots.aliyuncs.com
TABLESTORE_INSTANCE_NAME: instance-name
TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCORE: "false"
TEMPLATE_TRANSFORM_MAX_LENGTH: "400000"
TENANT_ISOLATED_TASK_CONCURRENCY: "1"
TENCENT_COS_BUCKET_NAME: your-bucket-name
TENCENT_COS_CUSTOM_DOMAIN: your-custom-domain
TENCENT_COS_REGION: your-region
TENCENT_COS_SCHEME: your-scheme
TENCENT_COS_SECRET_ID: your-secret-id
TENCENT_COS_SECRET_KEY: your-secret-key
TENCENT_VECTOR_DB_API_KEY: dify
TENCENT_VECTOR_DB_DATABASE: dify
TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH: "false"
TENCENT_VECTOR_DB_REPLICAS: "2"
TENCENT_VECTOR_DB_SHARD: "1"
TENCENT_VECTOR_DB_TIMEOUT: "30"
TENCENT_VECTOR_DB_URL: http://127.0.0.1
TENCENT_VECTOR_DB_USERNAME: dify
TEXT_GENERATION_TIMEOUT_MS: "60000"
TIDB_API_URL: http://127.0.0.1
TIDB_IAM_API_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_ON_QDRANT_URL: http://127.0.0.1
TIDB_PRIVATE_KEY: dify
TIDB_PROJECT_ID: dify
TIDB_PUBLIC_KEY: dify
TIDB_REGION: regions/aws-us-east-1
TIDB_SPEND_LIMIT: "100"
TIDB_VECTOR_DATABASE: dify
TIDB_VECTOR_HOST: tidb
TIDB_VECTOR_PASSWORD: ""
TIDB_VECTOR_PORT: "4000"
TIDB_VECTOR_USER: ""
TOP_K_MAX_VALUE: "10"
TRIGGER_URL: http://localhost
UNSTRUCTURED_API_KEY: ""
UNSTRUCTURED_API_URL: ""
UPLOAD_AUDIO_FILE_SIZE_LIMIT: "50"
UPLOAD_FILE_BATCH_LIMIT: "5"
UPLOAD_FILE_EXTENSION_BLACKLIST: ""
UPLOAD_FILE_SIZE_LIMIT: "15"
UPLOAD_IMAGE_FILE_SIZE_LIMIT: "10"
UPLOAD_VIDEO_FILE_SIZE_LIMIT: "100"
UPSTASH_VECTOR_TOKEN: dify
UPSTASH_VECTOR_URL: https://xxx-vector.upstash.io
UV_CACHE_DIR: /tmp/.uv-cache
VASTBASE_DATABASE: dify
VASTBASE_HOST: vastbase
VASTBASE_MAX_CONNECTION: "5"
VASTBASE_MIN_CONNECTION: "1"
VASTBASE_PASSWORD: Difyai123456
VASTBASE_PORT: "5432"
VASTBASE_USER: dify
VECTOR_INDEX_NAME_PREFIX: Vector_index
VECTOR_STORE: weaviate
VIKINGDB_ACCESS_KEY: your-ak
VIKINGDB_CONNECTION_TIMEOUT: "30"
VIKINGDB_HOST: api-vikingdb.xxx.volces.com
VIKINGDB_REGION: cn-shanghai
VIKINGDB_SCHEMA: http
VIKINGDB_SECRET_KEY: your-sk
VIKINGDB_SOCKET_TIMEOUT: "30"
VOLCENGINE_TOS_ACCESS_KEY: your-access-key
VOLCENGINE_TOS_BUCKET_NAME: your-bucket-name
VOLCENGINE_TOS_ENDPOINT: your-server-url
VOLCENGINE_TOS_REGION: your-region
VOLCENGINE_TOS_SECRET_KEY: your-secret-key
WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_APIKEY_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_USERS: hello@dify.ai
WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED: "true"
WEAVIATE_AUTHORIZATION_ADMINLIST_USERS: hello@dify.ai
WEAVIATE_CLUSTER_HOSTNAME: node1
WEAVIATE_DEFAULT_VECTORIZER_MODULE: none
WEAVIATE_DISABLE_TELEMETRY: "false"
WEAVIATE_ENABLE_TOKENIZER_GSE: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_JA: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_KR: "false"
WEAVIATE_ENDPOINT: http://weaviate:8080
WEAVIATE_GRPC_ENDPOINT: grpc://weaviate:50051
WEAVIATE_PERSISTENCE_DATA_PATH: /var/lib/weaviate
WEAVIATE_QUERY_DEFAULTS_LIMIT: "25"
WEAVIATE_TOKENIZATION: word
WEB_API_CORS_ALLOW_ORIGINS: '*'
WEB_SENTRY_DSN: ""
WEBHOOK_REQUEST_BODY_MAX_SIZE: "10485760"
WORKFLOW_CALL_MAX_DEPTH: "5"
WORKFLOW_FILE_UPLOAD_LIMIT: "10"
WORKFLOW_LOG_CLEANUP_BATCH_SIZE: "100"
WORKFLOW_LOG_CLEANUP_ENABLED: "false"
WORKFLOW_LOG_CLEANUP_SPECIFIC_WORKFLOW_IDS: ""
WORKFLOW_LOG_RETENTION_DAYS: "30"
WORKFLOW_MAX_EXECUTION_STEPS: "500"
WORKFLOW_MAX_EXECUTION_TIME: "1200"
WORKFLOW_NODE_EXECUTION_STORAGE: rdbms
WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK: "0"
WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE: "100"
WORKFLOW_SCHEDULE_POLLER_INTERVAL: "1"
healthcheck:
test:
- CMD-SHELL
- celery -A celery_healthcheck.celery inspect ping
timeout: 30s
interval: 30s
retries: 3
start_period: 1m0s
disable: true
image: langgenius/dify-api:1.13.3
networks:
default: null
ssrf_proxy_network: null
restart: always
volumes:
- type: bind
source: /Users/zhaohao/Dify/dify/docker/volumes/app/storage
target: /app/api/storage
bind: {}
worker_beat:
depends_on:
db_mysql:
condition: service_healthy
required: false
db_postgres:
condition: service_healthy
required: false
init_permissions:
condition: service_completed_successfully
required: true
oceanbase:
condition: service_healthy
required: false
redis:
condition: service_started
required: true
seekdb:
condition: service_healthy
required: false
environment:
ACCESS_TOKEN_EXPIRE_MINUTES: "600"
ALIBABACLOUD_MYSQL_DATABASE: dify
ALIBABACLOUD_MYSQL_HNSW_M: "6"
ALIBABACLOUD_MYSQL_HOST: 127.0.0.1
ALIBABACLOUD_MYSQL_MAX_CONNECTION: "5"
ALIBABACLOUD_MYSQL_PASSWORD: difyai123456
ALIBABACLOUD_MYSQL_PORT: "3306"
ALIBABACLOUD_MYSQL_USER: root
ALIYUN_OSS_ACCESS_KEY: your-access-key
ALIYUN_OSS_AUTH_VERSION: v4
ALIYUN_OSS_BUCKET_NAME: your-bucket-name
ALIYUN_OSS_ENDPOINT: https://oss-ap-southeast-1-internal.aliyuncs.com
ALIYUN_OSS_PATH: your-path
ALIYUN_OSS_REGION: ap-southeast-1
ALIYUN_OSS_SECRET_KEY: your-secret-key
ALIYUN_SLS_ACCESS_KEY_ID: ""
ALIYUN_SLS_ACCESS_KEY_SECRET: ""
ALIYUN_SLS_ENDPOINT: ""
ALIYUN_SLS_LOGSTORE_TTL: "365"
ALIYUN_SLS_PROJECT_NAME: ""
ALIYUN_SLS_REGION: ""
ALLOW_EMBED: "false"
ALLOW_INLINE_STYLES: "false"
ALLOW_UNSAFE_DATA_SCHEME: "false"
AMPLITUDE_API_KEY: ""
ANALYTICDB_ACCOUNT: testaccount
ANALYTICDB_HOST: gp-test.aliyuncs.com
ANALYTICDB_INSTANCE_ID: gp-ab123456
ANALYTICDB_KEY_ID: your-ak
ANALYTICDB_KEY_SECRET: your-sk
ANALYTICDB_MAX_CONNECTION: "5"
ANALYTICDB_MIN_CONNECTION: "1"
ANALYTICDB_NAMESPACE: dify
ANALYTICDB_NAMESPACE_PASSWORD: difypassword
ANALYTICDB_PASSWORD: testpassword
ANALYTICDB_PORT: "5432"
ANALYTICDB_REGION_ID: cn-hangzhou
ANNOTATION_IMPORT_FILE_SIZE_LIMIT: "2"
ANNOTATION_IMPORT_MAX_CONCURRENT: "5"
ANNOTATION_IMPORT_MAX_RECORDS: "10000"
ANNOTATION_IMPORT_MIN_RECORDS: "1"
ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR: "20"
ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE: "5"
API_SENTRY_DSN: ""
API_SENTRY_PROFILES_SAMPLE_RATE: "1.0"
API_SENTRY_TRACES_SAMPLE_RATE: "1.0"
API_TOOL_DEFAULT_CONNECT_TIMEOUT: "10"
API_TOOL_DEFAULT_READ_TIMEOUT: "60"
API_WORKFLOW_NODE_EXECUTION_REPOSITORY: repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository
API_WORKFLOW_RUN_REPOSITORY: repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository
APP_API_URL: ""
APP_DEFAULT_ACTIVE_REQUESTS: "0"
APP_MAX_ACTIVE_REQUESTS: "0"
APP_MAX_EXECUTION_TIME: "1200"
APP_WEB_URL: ""
ARCHIVE_STORAGE_ACCESS_KEY: ""
ARCHIVE_STORAGE_ARCHIVE_BUCKET: ""
ARCHIVE_STORAGE_ENABLED: "false"
ARCHIVE_STORAGE_ENDPOINT: ""
ARCHIVE_STORAGE_EXPORT_BUCKET: ""
ARCHIVE_STORAGE_REGION: auto
ARCHIVE_STORAGE_SECRET_KEY: ""
ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT: "60"
ATTACHMENT_IMAGE_FILE_SIZE_LIMIT: "2"
AZURE_BLOB_ACCOUNT_KEY: difyai
AZURE_BLOB_ACCOUNT_NAME: difyai
AZURE_BLOB_ACCOUNT_URL: https://<your_account_name>.blob.core.windows.net
AZURE_BLOB_CONTAINER_NAME: difyai-container
BAIDU_OBS_ACCESS_KEY: your-access-key
BAIDU_OBS_BUCKET_NAME: your-bucket-name
BAIDU_OBS_ENDPOINT: your-server-url
BAIDU_OBS_SECRET_KEY: your-secret-key
BAIDU_VECTOR_DB_ACCOUNT: root
BAIDU_VECTOR_DB_API_KEY: dify
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT: "500"
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT_RATIO: "0.05"
BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS: "30000"
BAIDU_VECTOR_DB_DATABASE: dify
BAIDU_VECTOR_DB_ENDPOINT: http://127.0.0.1:5287
BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER: DEFAULT_ANALYZER
BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE: COARSE_MODE
BAIDU_VECTOR_DB_REBUILD_INDEX_TIMEOUT_IN_SECONDS: "300"
BAIDU_VECTOR_DB_REPLICAS: "3"
BAIDU_VECTOR_DB_SHARD: "1"
BROKER_USE_SSL: "false"
CELERY_AUTO_SCALE: "false"
CELERY_BACKEND: redis
CELERY_BROKER_URL: redis://:difyai123456@redis:6379/1
CELERY_MAX_WORKERS: ""
CELERY_MIN_WORKERS: ""
CELERY_SENTINEL_MASTER_NAME: ""
CELERY_SENTINEL_PASSWORD: ""
CELERY_SENTINEL_SOCKET_TIMEOUT: "0.1"
CELERY_TASK_ANNOTATIONS: "null"
CELERY_USE_SENTINEL: "false"
CELERY_WORKER_AMOUNT: "4"
CELERY_WORKER_CLASS: ""
CERTBOT_DOMAIN: your_domain.com
CERTBOT_EMAIL: your_email@example.com
CERTBOT_OPTIONS: ""
CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES: "5"
CHECK_UPDATE_URL: https://updates.dify.ai
CHROMA_AUTH_CREDENTIALS: ""
CHROMA_AUTH_PROVIDER: chromadb.auth.token_authn.TokenAuthClientProvider
CHROMA_DATABASE: default_database
CHROMA_HOST: 127.0.0.1
CHROMA_IS_PERSISTENT: "TRUE"
CHROMA_PORT: "8000"
CHROMA_SERVER_AUTHN_CREDENTIALS: difyai123456
CHROMA_SERVER_AUTHN_PROVIDER: chromadb.auth.token_authn.TokenAuthenticationServerProvider
CHROMA_TENANT: default_tenant
CLICKZETTA_ANALYZER_MODE: smart
CLICKZETTA_ANALYZER_TYPE: chinese
CLICKZETTA_BATCH_SIZE: "100"
CLICKZETTA_ENABLE_INVERTED_INDEX: "true"
CLICKZETTA_INSTANCE: ""
CLICKZETTA_PASSWORD: ""
CLICKZETTA_SCHEMA: dify
CLICKZETTA_SERVICE: api.clickzetta.com
CLICKZETTA_USERNAME: ""
CLICKZETTA_VCLUSTER: default_ap
CLICKZETTA_VECTOR_DISTANCE_FUNCTION: cosine_distance
CLICKZETTA_VOLUME_DIFY_PREFIX: dify_km
CLICKZETTA_VOLUME_NAME: ""
CLICKZETTA_VOLUME_TABLE_PREFIX: dataset_
CLICKZETTA_VOLUME_TYPE: user
CLICKZETTA_WORKSPACE: quick_start
CODE_EXECUTION_API_KEY: dify-sandbox
CODE_EXECUTION_CONNECT_TIMEOUT: "10"
CODE_EXECUTION_ENDPOINT: http://sandbox:8194
CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY: "5.0"
CODE_EXECUTION_POOL_MAX_CONNECTIONS: "100"
CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
CODE_EXECUTION_READ_TIMEOUT: "60"
CODE_EXECUTION_SSL_VERIFY: "True"
CODE_EXECUTION_WRITE_TIMEOUT: "10"
CODE_GENERATION_MAX_TOKENS: "1024"
CODE_MAX_DEPTH: "5"
CODE_MAX_NUMBER: "9223372036854775807"
CODE_MAX_NUMBER_ARRAY_LENGTH: "1000"
CODE_MAX_OBJECT_ARRAY_LENGTH: "30"
CODE_MAX_PRECISION: "20"
CODE_MAX_STRING_ARRAY_LENGTH: "30"
CODE_MAX_STRING_LENGTH: "400000"
CODE_MIN_NUMBER: "-9223372036854775808"
CONSOLE_API_URL: ""
CONSOLE_API_URL_NEW: ""
CONSOLE_CORS_ALLOW_ORIGINS: '*'
CONSOLE_WEB_URL: ""
COOKIE_DOMAIN: ""
CORE_WORKFLOW_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository
CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository
COUCHBASE_BUCKET_NAME: Embeddings
COUCHBASE_CONNECTION_STRING: couchbase://couchbase-server
COUCHBASE_PASSWORD: password
COUCHBASE_SCOPE_NAME: _default
COUCHBASE_USER: Administrator
CREATE_TIDB_SERVICE_JOB_ENABLED: "false"
CSP_WHITELIST: ""
DATASET_MAX_SEGMENTS_PER_REQUEST: "0"
DB_DATABASE: dify
DB_HOST: db_postgres
DB_PASSWORD: difyai123456
DB_PLUGIN_DATABASE: dify_plugin
DB_PORT: "5432"
DB_TYPE: postgresql
DB_USERNAME: postgres
DEBUG: "false"
DEPLOY_ENV: PRODUCTION
DIFY_BIND_ADDRESS: 0.0.0.0
DIFY_PORT: "5001"
DSL_EXPORT_ENCRYPT_DATASET_ID: "true"
ELASTICSEARCH_API_KEY: YOUR-ELASTICSEARCH_API_KEY
ELASTICSEARCH_CA_CERTS: ""
ELASTICSEARCH_CLOUD_URL: YOUR-ELASTICSEARCH_CLOUD_URL
ELASTICSEARCH_HOST: 0.0.0.0
ELASTICSEARCH_MAX_RETRIES: "10"
ELASTICSEARCH_PASSWORD: elastic
ELASTICSEARCH_PORT: "9200"
ELASTICSEARCH_REQUEST_TIMEOUT: "100000"
ELASTICSEARCH_RETRY_ON_TIMEOUT: "True"
ELASTICSEARCH_USE_CLOUD: "false"
ELASTICSEARCH_USERNAME: elastic
ELASTICSEARCH_VERIFY_CERTS: "False"
EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES: "5"
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK: "true"
ENABLE_CLEAN_EMBEDDING_CACHE_TASK: "false"
ENABLE_CLEAN_MESSAGES: "false"
ENABLE_CLEAN_UNUSED_DATASETS_TASK: "false"
ENABLE_COLLABORATION_MODE: "false"
ENABLE_CREATE_TIDB_SERVERLESS_TASK: "false"
ENABLE_DATASETS_QUEUE_MONITOR: "false"
ENABLE_HUMAN_INPUT_TIMEOUT_TASK: "true"
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK: "false"
ENABLE_OTEL: "false"
ENABLE_REQUEST_LOGGING: "False"
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK: "false"
ENABLE_WEBSITE_FIRECRAWL: "true"
ENABLE_WEBSITE_JINAREADER: "true"
ENABLE_WEBSITE_WATERCRAWL: "true"
ENABLE_WORKFLOW_RUN_CLEANUP_TASK: "false"
ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK: "true"
ENDPOINT_URL_TEMPLATE: http://localhost/e/{hook_id}
ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES: "true"
ETCD_AUTO_COMPACTION_MODE: revision
ETCD_AUTO_COMPACTION_RETENTION: "1000"
ETCD_ENDPOINTS: etcd:2379
ETCD_QUOTA_BACKEND_BYTES: "4294967296"
ETCD_SNAPSHOT_COUNT: "50000"
ETL_TYPE: dify
EVENT_BUS_REDIS_CHANNEL_TYPE: pubsub
EVENT_BUS_REDIS_URL: ""
EVENT_BUS_REDIS_USE_CLUSTERS: "false"
EXPERIMENTAL_ENABLE_VINEXT: "false"
EXPOSE_NGINX_PORT: "80"
EXPOSE_NGINX_SSL_PORT: "443"
EXPOSE_PLUGIN_DAEMON_PORT: "5002"
EXPOSE_PLUGIN_DEBUGGING_HOST: localhost
EXPOSE_PLUGIN_DEBUGGING_PORT: "5003"
FILES_ACCESS_TIMEOUT: "300"
FILES_URL: ""
FLASK_DEBUG: "false"
FORCE_VERIFYING_SIGNATURE: "true"
GOOGLE_STORAGE_BUCKET_NAME: your-bucket-name
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ""
GRAPH_ENGINE_MAX_WORKERS: "10"
GRAPH_ENGINE_MIN_WORKERS: "1"
GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME: "5.0"
GRAPH_ENGINE_SCALE_UP_THRESHOLD: "3"
GUNICORN_TIMEOUT: "360"
HOLOGRES_ACCESS_KEY_ID: ""
HOLOGRES_ACCESS_KEY_SECRET: ""
HOLOGRES_BASE_QUANTIZATION_TYPE: rabitq
HOLOGRES_DATABASE: ""
HOLOGRES_DISTANCE_METHOD: Cosine
HOLOGRES_EF_CONSTRUCTION: "400"
HOLOGRES_HOST: ""
HOLOGRES_MAX_DEGREE: "64"
HOLOGRES_PORT: "80"
HOLOGRES_SCHEMA: public
HOLOGRES_TOKENIZER: jieba
HTTP_REQUEST_MAX_CONNECT_TIMEOUT: "10"
HTTP_REQUEST_MAX_READ_TIMEOUT: "600"
HTTP_REQUEST_MAX_WRITE_TIMEOUT: "600"
HTTP_REQUEST_NODE_MAX_BINARY_SIZE: "10485760"
HTTP_REQUEST_NODE_MAX_TEXT_SIZE: "1048576"
HTTP_REQUEST_NODE_SSL_VERIFY: "True"
HUAWEI_CLOUD_HOSTS: https://127.0.0.1:9200
HUAWEI_CLOUD_PASSWORD: admin
HUAWEI_CLOUD_USER: admin
HUAWEI_OBS_ACCESS_KEY: your-access-key
HUAWEI_OBS_BUCKET_NAME: your-bucket-name
HUAWEI_OBS_PATH_STYLE: "false"
HUAWEI_OBS_SECRET_KEY: your-secret-key
HUAWEI_OBS_SERVER: your-server-url
HUMAN_INPUT_TIMEOUT_TASK_INTERVAL: "1"
IMAGE_FILE_BATCH_LIMIT: "10"
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: "4000"
INIT_PASSWORD: ""
INTERNAL_FILES_URL: ""
INVITE_EXPIRY_HOURS: "72"
IRIS_CONNECTION_URL: ""
IRIS_DATABASE: USER
IRIS_HOST: iris
IRIS_MAX_CONNECTION: "3"
IRIS_MIN_CONNECTION: "1"
IRIS_PASSWORD: Dify@1234
IRIS_SCHEMA: dify
IRIS_SUPER_SERVER_PORT: "1972"
IRIS_TEXT_INDEX: "true"
IRIS_TEXT_INDEX_LANGUAGE: en
IRIS_TIMEZONE: UTC
IRIS_USER: _SYSTEM
IRIS_WEB_SERVER_PORT: "52773"
KIBANA_PORT: "5601"
LANG: C.UTF-8
LC_ALL: C.UTF-8
LINDORM_PASSWORD: admin
LINDORM_QUERY_TIMEOUT: "1"
LINDORM_URL: http://localhost:30070
LINDORM_USERNAME: admin
LINDORM_USING_UGC: "True"
LOG_DATEFORMAT: '%Y-%m-%d %H:%M:%S'
LOG_FILE: /app/logs/server.log
LOG_FILE_BACKUP_COUNT: "5"
LOG_FILE_MAX_SIZE: "20"
LOG_LEVEL: INFO
LOG_OUTPUT_FORMAT: text
LOG_TZ: UTC
LOGSTORE_DUAL_READ_ENABLED: "true"
LOGSTORE_DUAL_WRITE_ENABLED: "false"
LOGSTORE_ENABLE_PUT_GRAPH_FIELD: "true"
LOOP_NODE_MAX_COUNT: "100"
MAIL_DEFAULT_SEND_FROM: ""
MAIL_TYPE: resend
MARKETPLACE_API_URL: https://marketplace.dify.ai
MARKETPLACE_ENABLED: "true"
MATRIXONE_DATABASE: dify
MATRIXONE_HOST: matrixone
MATRIXONE_PASSWORD: "111"
MATRIXONE_PORT: "6001"
MATRIXONE_USER: dump
MAX_ITERATIONS_NUM: "99"
MAX_PARALLEL_LIMIT: "10"
MAX_SUBMIT_COUNT: "100"
MAX_TOOLS_NUM: "10"
MAX_TREE_DEPTH: "50"
MAX_VARIABLE_SIZE: "204800"
MIGRATION_ENABLED: "true"
MILVUS_ANALYZER_PARAMS: ""
MILVUS_AUTHORIZATION_ENABLED: "true"
MILVUS_DATABASE: ""
MILVUS_ENABLE_HYBRID_SEARCH: "False"
MILVUS_PASSWORD: ""
MILVUS_TOKEN: ""
MILVUS_URI: http://host.docker.internal:19530
MILVUS_USER: ""
MINIO_ACCESS_KEY: minioadmin
MINIO_ADDRESS: minio:9000
MINIO_SECRET_KEY: minioadmin
MODE: beat
MULTIMODAL_SEND_FORMAT: base64
MYSCALE_DATABASE: dify
MYSCALE_FTS_PARAMS: ""
MYSCALE_HOST: myscale
MYSCALE_PASSWORD: ""
MYSCALE_PORT: "8123"
MYSCALE_USER: default
MYSQL_HOST_VOLUME: ./volumes/mysql/data
MYSQL_INNODB_BUFFER_POOL_SIZE: 512M
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT: "2"
MYSQL_INNODB_LOG_FILE_SIZE: 128M
MYSQL_MAX_CONNECTIONS: "1000"
NEXT_PUBLIC_BATCH_CONCURRENCY: "5"
NEXT_PUBLIC_COOKIE_DOMAIN: ""
NEXT_PUBLIC_ENABLE_SINGLE_DOLLAR_LATEX: "false"
NEXT_PUBLIC_SOCKET_URL: ws://localhost
NGINX_CLIENT_MAX_BODY_SIZE: 100M
NGINX_ENABLE_CERTBOT_CHALLENGE: "false"
NGINX_HTTPS_ENABLED: "false"
NGINX_KEEPALIVE_TIMEOUT: "65"
NGINX_PORT: "80"
NGINX_PROXY_READ_TIMEOUT: 3600s
NGINX_PROXY_SEND_TIMEOUT: 3600s
NGINX_SERVER_NAME: _
NGINX_SSL_CERT_FILENAME: dify.crt
NGINX_SSL_CERT_KEY_FILENAME: dify.key
NGINX_SSL_PORT: "443"
NGINX_SSL_PROTOCOLS: TLSv1.2 TLSv1.3
NGINX_WORKER_PROCESSES: auto
NOTION_CLIENT_ID: ""
NOTION_CLIENT_SECRET: ""
NOTION_INTEGRATION_TYPE: public
NOTION_INTERNAL_SECRET: ""
OCEANBASE_CLUSTER_NAME: difyai
OCEANBASE_ENABLE_HYBRID_SEARCH: "false"
OCEANBASE_FULLTEXT_PARSER: ik
OCEANBASE_MEMORY_LIMIT: 6G
OCEANBASE_VECTOR_DATABASE: test
OCEANBASE_VECTOR_HOST: oceanbase
OCEANBASE_VECTOR_PASSWORD: difyai123456
OCEANBASE_VECTOR_PORT: "2881"
OCEANBASE_VECTOR_USER: root@test
OCI_ACCESS_KEY: your-access-key
OCI_BUCKET_NAME: your-bucket-name
OCI_ENDPOINT: https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com
OCI_REGION: us-ashburn-1
OCI_SECRET_KEY: your-secret-key
OPENAI_API_BASE: https://api.openai.com/v1
OPENDAL_FS_ROOT: storage
OPENDAL_SCHEME: fs
OPENGAUSS_DATABASE: dify
OPENGAUSS_ENABLE_PQ: "false"
OPENGAUSS_HOST: opengauss
OPENGAUSS_MAX_CONNECTION: "5"
OPENGAUSS_MIN_CONNECTION: "1"
OPENGAUSS_PASSWORD: Dify@123
OPENGAUSS_PORT: "6600"
OPENGAUSS_USER: postgres
OPENSEARCH_AUTH_METHOD: basic
OPENSEARCH_AWS_REGION: ap-southeast-1
OPENSEARCH_AWS_SERVICE: aoss
OPENSEARCH_BOOTSTRAP_MEMORY_LOCK: "true"
OPENSEARCH_DISCOVERY_TYPE: single-node
OPENSEARCH_HOST: opensearch
OPENSEARCH_INITIAL_ADMIN_PASSWORD: Qazwsxedc!@#123
OPENSEARCH_JAVA_OPTS_MAX: 1024m
OPENSEARCH_JAVA_OPTS_MIN: 512m
OPENSEARCH_MEMLOCK_HARD: "-1"
OPENSEARCH_MEMLOCK_SOFT: "-1"
OPENSEARCH_NOFILE_HARD: "65536"
OPENSEARCH_NOFILE_SOFT: "65536"
OPENSEARCH_PASSWORD: admin
OPENSEARCH_PORT: "9200"
OPENSEARCH_SECURE: "true"
OPENSEARCH_USER: admin
OPENSEARCH_VERIFY_CERTS: "true"
ORACLE_CHARACTERSET: AL32UTF8
ORACLE_CONFIG_DIR: /app/api/storage/wallet
ORACLE_DSN: oracle:1521/FREEPDB1
ORACLE_IS_AUTONOMOUS: "false"
ORACLE_PASSWORD: dify
ORACLE_PWD: Dify123456
ORACLE_USER: dify
ORACLE_WALLET_LOCATION: /app/api/storage/wallet
ORACLE_WALLET_PASSWORD: dify
OTEL_BATCH_EXPORT_SCHEDULE_DELAY: "5000"
OTEL_BATCH_EXPORT_TIMEOUT: "10000"
OTEL_EXPORTER_OTLP_PROTOCOL: ""
OTEL_EXPORTER_TYPE: otlp
OTEL_MAX_EXPORT_BATCH_SIZE: "512"
OTEL_MAX_QUEUE_SIZE: "2048"
OTEL_METRIC_EXPORT_INTERVAL: "60000"
OTEL_METRIC_EXPORT_TIMEOUT: "30000"
OTEL_SAMPLING_RATE: "0.1"
OTLP_API_KEY: ""
OTLP_BASE_ENDPOINT: http://localhost:4318
OTLP_METRIC_ENDPOINT: ""
OTLP_TRACE_ENDPOINT: ""
OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES: "5"
PGDATA: /var/lib/postgresql/data/pgdata
PGVECTO_RS_DATABASE: dify
PGVECTO_RS_HOST: pgvecto-rs
PGVECTO_RS_PASSWORD: difyai123456
PGVECTO_RS_PORT: "5432"
PGVECTO_RS_USER: postgres
PGVECTOR_DATABASE: dify
PGVECTOR_HOST: pgvector
PGVECTOR_MAX_CONNECTION: "5"
PGVECTOR_MIN_CONNECTION: "1"
PGVECTOR_PASSWORD: difyai123456
PGVECTOR_PG_BIGM: "false"
PGVECTOR_PG_BIGM_VERSION: 1.2-20240606
PGVECTOR_PGDATA: /var/lib/postgresql/data/pgdata
PGVECTOR_PGUSER: postgres
PGVECTOR_PORT: "5432"
PGVECTOR_POSTGRES_DB: dify
PGVECTOR_POSTGRES_PASSWORD: difyai123456
PGVECTOR_USER: postgres
PIP_MIRROR_URL: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET: ""
PLUGIN_ALIYUN_OSS_AUTH_VERSION: v4
PLUGIN_ALIYUN_OSS_ENDPOINT: ""
PLUGIN_ALIYUN_OSS_PATH: ""
PLUGIN_ALIYUN_OSS_REGION: ""
PLUGIN_AWS_ACCESS_KEY: ""
PLUGIN_AWS_REGION: ""
PLUGIN_AWS_SECRET_KEY: ""
PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING: ""
PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME: ""
PLUGIN_BASED_TOKEN_COUNTING_ENABLED: "false"
PLUGIN_DAEMON_KEY: lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
PLUGIN_DAEMON_PORT: "5002"
PLUGIN_DAEMON_TIMEOUT: "600.0"
PLUGIN_DAEMON_URL: http://plugin_daemon:5002
PLUGIN_DEBUGGING_HOST: 0.0.0.0
PLUGIN_DEBUGGING_PORT: "5003"
PLUGIN_DIFY_INNER_API_KEY: QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
PLUGIN_DIFY_INNER_API_URL: http://api:5001
PLUGIN_INSTALLED_PATH: plugin
PLUGIN_MAX_EXECUTION_TIMEOUT: "600"
PLUGIN_MAX_PACKAGE_SIZE: "52428800"
PLUGIN_MEDIA_CACHE_PATH: assets
PLUGIN_MODEL_SCHEMA_CACHE_TTL: "3600"
PLUGIN_PACKAGE_CACHE_PATH: plugin_packages
PLUGIN_PPROF_ENABLED: "false"
PLUGIN_PYTHON_ENV_INIT_TIMEOUT: "120"
PLUGIN_S3_ENDPOINT: ""
PLUGIN_S3_USE_AWS: "false"
PLUGIN_S3_USE_AWS_MANAGED_IAM: "false"
PLUGIN_S3_USE_PATH_STYLE: "false"
PLUGIN_SENTRY_DSN: ""
PLUGIN_SENTRY_ENABLED: "false"
PLUGIN_STDIO_BUFFER_SIZE: "1024"
PLUGIN_STDIO_MAX_BUFFER_SIZE: "5242880"
PLUGIN_STORAGE_LOCAL_ROOT: /app/storage
PLUGIN_STORAGE_OSS_BUCKET: ""
PLUGIN_STORAGE_TYPE: local
PLUGIN_TENCENT_COS_REGION: ""
PLUGIN_TENCENT_COS_SECRET_ID: ""
PLUGIN_TENCENT_COS_SECRET_KEY: ""
PLUGIN_VOLCENGINE_TOS_ACCESS_KEY: ""
PLUGIN_VOLCENGINE_TOS_ENDPOINT: ""
PLUGIN_VOLCENGINE_TOS_REGION: ""
PLUGIN_VOLCENGINE_TOS_SECRET_KEY: ""
PLUGIN_WORKING_PATH: /app/storage/cwd
POSITION_PROVIDER_EXCLUDES: ""
POSITION_PROVIDER_INCLUDES: ""
POSITION_PROVIDER_PINS: ""
POSITION_TOOL_EXCLUDES: ""
POSITION_TOOL_INCLUDES: ""
POSITION_TOOL_PINS: ""
POSTGRES_EFFECTIVE_CACHE_SIZE: 4096MB
POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT: "0"
POSTGRES_MAINTENANCE_WORK_MEM: 64MB
POSTGRES_MAX_CONNECTIONS: "100"
POSTGRES_SHARED_BUFFERS: 128MB
POSTGRES_STATEMENT_TIMEOUT: "0"
POSTGRES_WORK_MEM: 4MB
PROMPT_GENERATION_MAX_TOKENS: "512"
PYTHONIOENCODING: utf-8
QDRANT_API_KEY: difyai123456
QDRANT_CLIENT_TIMEOUT: "20"
QDRANT_GRPC_ENABLED: "false"
QDRANT_GRPC_PORT: "6334"
QDRANT_REPLICATION_FACTOR: "1"
QDRANT_URL: http://qdrant:6333
QUEUE_MONITOR_ALERT_EMAILS: ""
QUEUE_MONITOR_INTERVAL: "30"
QUEUE_MONITOR_THRESHOLD: "200"
REDIS_CLUSTERS: ""
REDIS_CLUSTERS_PASSWORD: ""
REDIS_DB: "0"
REDIS_HEALTH_CHECK_INTERVAL: "30"
REDIS_HOST: redis
REDIS_KEY_PREFIX: ""
REDIS_MAX_CONNECTIONS: ""
REDIS_PASSWORD: difyai123456
REDIS_PORT: "6379"
REDIS_RETRY_BACKOFF_BASE: "1.0"
REDIS_RETRY_BACKOFF_CAP: "10.0"
REDIS_RETRY_RETRIES: "3"
REDIS_SENTINEL_PASSWORD: ""
REDIS_SENTINEL_SERVICE_NAME: ""
REDIS_SENTINEL_SOCKET_TIMEOUT: "0.1"
REDIS_SENTINEL_USERNAME: ""
REDIS_SENTINELS: ""
REDIS_SOCKET_CONNECT_TIMEOUT: "5.0"
REDIS_SOCKET_TIMEOUT: "5.0"
REDIS_SSL_CA_CERTS: ""
REDIS_SSL_CERT_REQS: CERT_NONE
REDIS_SSL_CERTFILE: ""
REDIS_SSL_KEYFILE: ""
REDIS_USE_CLUSTERS: "false"
REDIS_USE_SENTINEL: "false"
REDIS_USE_SSL: "false"
REDIS_USERNAME: ""
REFRESH_TOKEN_EXPIRE_DAYS: "30"
RELYT_DATABASE: postgres
RELYT_HOST: db
RELYT_PASSWORD: difyai123456
RELYT_PORT: "5432"
RELYT_USER: postgres
RESEND_API_KEY: your-resend-api-key
RESEND_API_URL: https://api.resend.com
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES: "5"
RESPECT_XFORWARD_HEADERS_ENABLED: "false"
S3_ACCESS_KEY: ""
S3_ADDRESS_STYLE: auto
S3_BUCKET_NAME: difyai
S3_ENDPOINT: ""
S3_REGION: us-east-1
S3_SECRET_KEY: ""
S3_USE_AWS_MANAGED_IAM: "false"
SANDBOX_API_KEY: dify-sandbox
SANDBOX_ENABLE_NETWORK: "true"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL: "200"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE: "1000"
SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD: "21"
SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL: "90000"
SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS: "30"
SANDBOX_GIN_MODE: release
SANDBOX_HTTP_PROXY: http://ssrf_proxy:3128
SANDBOX_HTTPS_PROXY: http://ssrf_proxy:3128
SANDBOX_PORT: "8194"
SANDBOX_WORKER_TIMEOUT: "15"
SCARF_NO_ANALYTICS: "true"
SECRET_KEY: sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U
SEEKDB_MEMORY_LIMIT: 2G
SENDGRID_API_KEY: ""
SENTRY_DSN: ""
SERVER_WORKER_AMOUNT: "1"
SERVER_WORKER_CLASS: gevent
SERVER_WORKER_CONNECTIONS: "10"
SERVICE_API_URL: ""
SINGLE_CHUNK_ATTACHMENT_LIMIT: "10"
SMTP_LOCAL_HOSTNAME: ""
SMTP_OPPORTUNISTIC_TLS: "false"
SMTP_PASSWORD: ""
SMTP_PORT: "465"
SMTP_SERVER: ""
SMTP_USE_TLS: "true"
SMTP_USERNAME: ""
SQLALCHEMY_ECHO: "false"
SQLALCHEMY_MAX_OVERFLOW: "10"
SQLALCHEMY_POOL_PRE_PING: "false"
SQLALCHEMY_POOL_RECYCLE: "3600"
SQLALCHEMY_POOL_SIZE: "30"
SQLALCHEMY_POOL_TIMEOUT: "30"
SQLALCHEMY_POOL_USE_LIFO: "false"
SSRF_COREDUMP_DIR: /var/spool/squid
SSRF_DEFAULT_CONNECT_TIME_OUT: "5"
SSRF_DEFAULT_READ_TIME_OUT: "5"
SSRF_DEFAULT_TIME_OUT: "5"
SSRF_DEFAULT_WRITE_TIME_OUT: "5"
SSRF_HTTP_PORT: "3128"
SSRF_POOL_KEEPALIVE_EXPIRY: "5.0"
SSRF_POOL_MAX_CONNECTIONS: "100"
SSRF_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
SSRF_PROXY_HTTP_URL: http://ssrf_proxy:3128
SSRF_PROXY_HTTPS_URL: http://ssrf_proxy:3128
SSRF_REVERSE_PROXY_PORT: "8194"
SSRF_SANDBOX_HOST: sandbox
STORAGE_TYPE: opendal
SUPABASE_API_KEY: your-access-key
SUPABASE_BUCKET_NAME: your-bucket-name
SUPABASE_URL: your-server-url
SWAGGER_UI_ENABLED: "false"
SWAGGER_UI_PATH: /swagger-ui.html
TABLESTORE_ACCESS_KEY_ID: xxx
TABLESTORE_ACCESS_KEY_SECRET: xxx
TABLESTORE_ENDPOINT: https://instance-name.cn-hangzhou.ots.aliyuncs.com
TABLESTORE_INSTANCE_NAME: instance-name
TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCORE: "false"
TEMPLATE_TRANSFORM_MAX_LENGTH: "400000"
TENANT_ISOLATED_TASK_CONCURRENCY: "1"
TENCENT_COS_BUCKET_NAME: your-bucket-name
TENCENT_COS_CUSTOM_DOMAIN: your-custom-domain
TENCENT_COS_REGION: your-region
TENCENT_COS_SCHEME: your-scheme
TENCENT_COS_SECRET_ID: your-secret-id
TENCENT_COS_SECRET_KEY: your-secret-key
TENCENT_VECTOR_DB_API_KEY: dify
TENCENT_VECTOR_DB_DATABASE: dify
TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH: "false"
TENCENT_VECTOR_DB_REPLICAS: "2"
TENCENT_VECTOR_DB_SHARD: "1"
TENCENT_VECTOR_DB_TIMEOUT: "30"
TENCENT_VECTOR_DB_URL: http://127.0.0.1
TENCENT_VECTOR_DB_USERNAME: dify
TEXT_GENERATION_TIMEOUT_MS: "60000"
TIDB_API_URL: http://127.0.0.1
TIDB_IAM_API_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_ON_QDRANT_URL: http://127.0.0.1
TIDB_PRIVATE_KEY: dify
TIDB_PROJECT_ID: dify
TIDB_PUBLIC_KEY: dify
TIDB_REGION: regions/aws-us-east-1
TIDB_SPEND_LIMIT: "100"
TIDB_VECTOR_DATABASE: dify
TIDB_VECTOR_HOST: tidb
TIDB_VECTOR_PASSWORD: ""
TIDB_VECTOR_PORT: "4000"
TIDB_VECTOR_USER: ""
TOP_K_MAX_VALUE: "10"
TRIGGER_URL: http://localhost
UNSTRUCTURED_API_KEY: ""
UNSTRUCTURED_API_URL: ""
UPLOAD_AUDIO_FILE_SIZE_LIMIT: "50"
UPLOAD_FILE_BATCH_LIMIT: "5"
UPLOAD_FILE_EXTENSION_BLACKLIST: ""
UPLOAD_FILE_SIZE_LIMIT: "15"
UPLOAD_IMAGE_FILE_SIZE_LIMIT: "10"
UPLOAD_VIDEO_FILE_SIZE_LIMIT: "100"
UPSTASH_VECTOR_TOKEN: dify
UPSTASH_VECTOR_URL: https://xxx-vector.upstash.io
UV_CACHE_DIR: /tmp/.uv-cache
VASTBASE_DATABASE: dify
VASTBASE_HOST: vastbase
VASTBASE_MAX_CONNECTION: "5"
VASTBASE_MIN_CONNECTION: "1"
VASTBASE_PASSWORD: Difyai123456
VASTBASE_PORT: "5432"
VASTBASE_USER: dify
VECTOR_INDEX_NAME_PREFIX: Vector_index
VECTOR_STORE: weaviate
VIKINGDB_ACCESS_KEY: your-ak
VIKINGDB_CONNECTION_TIMEOUT: "30"
VIKINGDB_HOST: api-vikingdb.xxx.volces.com
VIKINGDB_REGION: cn-shanghai
VIKINGDB_SCHEMA: http
VIKINGDB_SECRET_KEY: your-sk
VIKINGDB_SOCKET_TIMEOUT: "30"
VOLCENGINE_TOS_ACCESS_KEY: your-access-key
VOLCENGINE_TOS_BUCKET_NAME: your-bucket-name
VOLCENGINE_TOS_ENDPOINT: your-server-url
VOLCENGINE_TOS_REGION: your-region
VOLCENGINE_TOS_SECRET_KEY: your-secret-key
WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_APIKEY_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_USERS: hello@dify.ai
WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED: "true"
WEAVIATE_AUTHORIZATION_ADMINLIST_USERS: hello@dify.ai
WEAVIATE_CLUSTER_HOSTNAME: node1
WEAVIATE_DEFAULT_VECTORIZER_MODULE: none
WEAVIATE_DISABLE_TELEMETRY: "false"
WEAVIATE_ENABLE_TOKENIZER_GSE: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_JA: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_KR: "false"
WEAVIATE_ENDPOINT: http://weaviate:8080
WEAVIATE_GRPC_ENDPOINT: grpc://weaviate:50051
WEAVIATE_PERSISTENCE_DATA_PATH: /var/lib/weaviate
WEAVIATE_QUERY_DEFAULTS_LIMIT: "25"
WEAVIATE_TOKENIZATION: word
WEB_API_CORS_ALLOW_ORIGINS: '*'
WEB_SENTRY_DSN: ""
WEBHOOK_REQUEST_BODY_MAX_SIZE: "10485760"
WORKFLOW_CALL_MAX_DEPTH: "5"
WORKFLOW_FILE_UPLOAD_LIMIT: "10"
WORKFLOW_LOG_CLEANUP_BATCH_SIZE: "100"
WORKFLOW_LOG_CLEANUP_ENABLED: "false"
WORKFLOW_LOG_CLEANUP_SPECIFIC_WORKFLOW_IDS: ""
WORKFLOW_LOG_RETENTION_DAYS: "30"
WORKFLOW_MAX_EXECUTION_STEPS: "500"
WORKFLOW_MAX_EXECUTION_TIME: "1200"
WORKFLOW_NODE_EXECUTION_STORAGE: rdbms
WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK: "0"
WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE: "100"
WORKFLOW_SCHEDULE_POLLER_INTERVAL: "1"
healthcheck:
test:
- CMD-SHELL
- celery -A celery_healthcheck.celery inspect ping
timeout: 30s
interval: 30s
retries: 3
start_period: 1m0s
disable: true
image: langgenius/dify-api:1.13.3
networks:
default: null
ssrf_proxy_network: null
restart: always
networks:
default:
name: docker_default
ssrf_proxy_network:
name: docker_ssrf_proxy_network
driver: bridge
internal: true
x-shared-env:
ACCESS_TOKEN_EXPIRE_MINUTES: "600"
ALIBABACLOUD_MYSQL_DATABASE: dify
ALIBABACLOUD_MYSQL_HNSW_M: "6"
ALIBABACLOUD_MYSQL_HOST: 127.0.0.1
ALIBABACLOUD_MYSQL_MAX_CONNECTION: "5"
ALIBABACLOUD_MYSQL_PASSWORD: difyai123456
ALIBABACLOUD_MYSQL_PORT: "3306"
ALIBABACLOUD_MYSQL_USER: root
ALIYUN_OSS_ACCESS_KEY: your-access-key
ALIYUN_OSS_AUTH_VERSION: v4
ALIYUN_OSS_BUCKET_NAME: your-bucket-name
ALIYUN_OSS_ENDPOINT: https://oss-ap-southeast-1-internal.aliyuncs.com
ALIYUN_OSS_PATH: your-path
ALIYUN_OSS_REGION: ap-southeast-1
ALIYUN_OSS_SECRET_KEY: your-secret-key
ALIYUN_SLS_ACCESS_KEY_ID: ""
ALIYUN_SLS_ACCESS_KEY_SECRET: ""
ALIYUN_SLS_ENDPOINT: ""
ALIYUN_SLS_LOGSTORE_TTL: "365"
ALIYUN_SLS_PROJECT_NAME: ""
ALIYUN_SLS_REGION: ""
ALLOW_EMBED: "false"
ALLOW_INLINE_STYLES: "false"
ALLOW_UNSAFE_DATA_SCHEME: "false"
AMPLITUDE_API_KEY: ""
ANALYTICDB_ACCOUNT: testaccount
ANALYTICDB_HOST: gp-test.aliyuncs.com
ANALYTICDB_INSTANCE_ID: gp-ab123456
ANALYTICDB_KEY_ID: your-ak
ANALYTICDB_KEY_SECRET: your-sk
ANALYTICDB_MAX_CONNECTION: "5"
ANALYTICDB_MIN_CONNECTION: "1"
ANALYTICDB_NAMESPACE: dify
ANALYTICDB_NAMESPACE_PASSWORD: difypassword
ANALYTICDB_PASSWORD: testpassword
ANALYTICDB_PORT: "5432"
ANALYTICDB_REGION_ID: cn-hangzhou
ANNOTATION_IMPORT_FILE_SIZE_LIMIT: "2"
ANNOTATION_IMPORT_MAX_CONCURRENT: "5"
ANNOTATION_IMPORT_MAX_RECORDS: "10000"
ANNOTATION_IMPORT_MIN_RECORDS: "1"
ANNOTATION_IMPORT_RATE_LIMIT_PER_HOUR: "20"
ANNOTATION_IMPORT_RATE_LIMIT_PER_MINUTE: "5"
API_SENTRY_DSN: ""
API_SENTRY_PROFILES_SAMPLE_RATE: "1.0"
API_SENTRY_TRACES_SAMPLE_RATE: "1.0"
API_TOOL_DEFAULT_CONNECT_TIMEOUT: "10"
API_TOOL_DEFAULT_READ_TIMEOUT: "60"
API_WORKFLOW_NODE_EXECUTION_REPOSITORY: repositories.sqlalchemy_api_workflow_node_execution_repository.DifyAPISQLAlchemyWorkflowNodeExecutionRepository
API_WORKFLOW_RUN_REPOSITORY: repositories.sqlalchemy_api_workflow_run_repository.DifyAPISQLAlchemyWorkflowRunRepository
APP_API_URL: ""
APP_DEFAULT_ACTIVE_REQUESTS: "0"
APP_MAX_ACTIVE_REQUESTS: "0"
APP_MAX_EXECUTION_TIME: "1200"
APP_WEB_URL: ""
ARCHIVE_STORAGE_ACCESS_KEY: ""
ARCHIVE_STORAGE_ARCHIVE_BUCKET: ""
ARCHIVE_STORAGE_ENABLED: "false"
ARCHIVE_STORAGE_ENDPOINT: ""
ARCHIVE_STORAGE_EXPORT_BUCKET: ""
ARCHIVE_STORAGE_REGION: auto
ARCHIVE_STORAGE_SECRET_KEY: ""
ATTACHMENT_IMAGE_DOWNLOAD_TIMEOUT: "60"
ATTACHMENT_IMAGE_FILE_SIZE_LIMIT: "2"
AZURE_BLOB_ACCOUNT_KEY: difyai
AZURE_BLOB_ACCOUNT_NAME: difyai
AZURE_BLOB_ACCOUNT_URL: https://<your_account_name>.blob.core.windows.net
AZURE_BLOB_CONTAINER_NAME: difyai-container
BAIDU_OBS_ACCESS_KEY: your-access-key
BAIDU_OBS_BUCKET_NAME: your-bucket-name
BAIDU_OBS_ENDPOINT: your-server-url
BAIDU_OBS_SECRET_KEY: your-secret-key
BAIDU_VECTOR_DB_ACCOUNT: root
BAIDU_VECTOR_DB_API_KEY: dify
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT: "500"
BAIDU_VECTOR_DB_AUTO_BUILD_ROW_COUNT_INCREMENT_RATIO: "0.05"
BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS: "30000"
BAIDU_VECTOR_DB_DATABASE: dify
BAIDU_VECTOR_DB_ENDPOINT: http://127.0.0.1:5287
BAIDU_VECTOR_DB_INVERTED_INDEX_ANALYZER: DEFAULT_ANALYZER
BAIDU_VECTOR_DB_INVERTED_INDEX_PARSER_MODE: COARSE_MODE
BAIDU_VECTOR_DB_REBUILD_INDEX_TIMEOUT_IN_SECONDS: "300"
BAIDU_VECTOR_DB_REPLICAS: "3"
BAIDU_VECTOR_DB_SHARD: "1"
BROKER_USE_SSL: "false"
CELERY_AUTO_SCALE: "false"
CELERY_BACKEND: redis
CELERY_BROKER_URL: redis://:difyai123456@redis:6379/1
CELERY_MAX_WORKERS: ""
CELERY_MIN_WORKERS: ""
CELERY_SENTINEL_MASTER_NAME: ""
CELERY_SENTINEL_PASSWORD: ""
CELERY_SENTINEL_SOCKET_TIMEOUT: "0.1"
CELERY_TASK_ANNOTATIONS: "null"
CELERY_USE_SENTINEL: "false"
CELERY_WORKER_AMOUNT: "4"
CELERY_WORKER_CLASS: ""
CERTBOT_DOMAIN: your_domain.com
CERTBOT_EMAIL: your_email@example.com
CERTBOT_OPTIONS: ""
CHANGE_EMAIL_TOKEN_EXPIRY_MINUTES: "5"
CHECK_UPDATE_URL: https://updates.dify.ai
CHROMA_AUTH_CREDENTIALS: ""
CHROMA_AUTH_PROVIDER: chromadb.auth.token_authn.TokenAuthClientProvider
CHROMA_DATABASE: default_database
CHROMA_HOST: 127.0.0.1
CHROMA_IS_PERSISTENT: "TRUE"
CHROMA_PORT: "8000"
CHROMA_SERVER_AUTHN_CREDENTIALS: difyai123456
CHROMA_SERVER_AUTHN_PROVIDER: chromadb.auth.token_authn.TokenAuthenticationServerProvider
CHROMA_TENANT: default_tenant
CLICKZETTA_ANALYZER_MODE: smart
CLICKZETTA_ANALYZER_TYPE: chinese
CLICKZETTA_BATCH_SIZE: "100"
CLICKZETTA_ENABLE_INVERTED_INDEX: "true"
CLICKZETTA_INSTANCE: ""
CLICKZETTA_PASSWORD: ""
CLICKZETTA_SCHEMA: dify
CLICKZETTA_SERVICE: api.clickzetta.com
CLICKZETTA_USERNAME: ""
CLICKZETTA_VCLUSTER: default_ap
CLICKZETTA_VECTOR_DISTANCE_FUNCTION: cosine_distance
CLICKZETTA_VOLUME_DIFY_PREFIX: dify_km
CLICKZETTA_VOLUME_NAME: ""
CLICKZETTA_VOLUME_TABLE_PREFIX: dataset_
CLICKZETTA_VOLUME_TYPE: user
CLICKZETTA_WORKSPACE: quick_start
CODE_EXECUTION_API_KEY: dify-sandbox
CODE_EXECUTION_CONNECT_TIMEOUT: "10"
CODE_EXECUTION_ENDPOINT: http://sandbox:8194
CODE_EXECUTION_POOL_KEEPALIVE_EXPIRY: "5.0"
CODE_EXECUTION_POOL_MAX_CONNECTIONS: "100"
CODE_EXECUTION_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
CODE_EXECUTION_READ_TIMEOUT: "60"
CODE_EXECUTION_SSL_VERIFY: "True"
CODE_EXECUTION_WRITE_TIMEOUT: "10"
CODE_GENERATION_MAX_TOKENS: "1024"
CODE_MAX_DEPTH: "5"
CODE_MAX_NUMBER: "9223372036854775807"
CODE_MAX_NUMBER_ARRAY_LENGTH: "1000"
CODE_MAX_OBJECT_ARRAY_LENGTH: "30"
CODE_MAX_PRECISION: "20"
CODE_MAX_STRING_ARRAY_LENGTH: "30"
CODE_MAX_STRING_LENGTH: "400000"
CODE_MIN_NUMBER: "-9223372036854775808"
CONSOLE_API_URL: ""
CONSOLE_API_URL_NEW: ""
CONSOLE_CORS_ALLOW_ORIGINS: '*'
CONSOLE_WEB_URL: ""
COOKIE_DOMAIN: ""
CORE_WORKFLOW_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_execution_repository.SQLAlchemyWorkflowExecutionRepository
CORE_WORKFLOW_NODE_EXECUTION_REPOSITORY: core.repositories.sqlalchemy_workflow_node_execution_repository.SQLAlchemyWorkflowNodeExecutionRepository
COUCHBASE_BUCKET_NAME: Embeddings
COUCHBASE_CONNECTION_STRING: couchbase://couchbase-server
COUCHBASE_PASSWORD: password
COUCHBASE_SCOPE_NAME: _default
COUCHBASE_USER: Administrator
CREATE_TIDB_SERVICE_JOB_ENABLED: "false"
CSP_WHITELIST: ""
DATASET_MAX_SEGMENTS_PER_REQUEST: "0"
DB_DATABASE: dify
DB_HOST: db_postgres
DB_PASSWORD: difyai123456
DB_PLUGIN_DATABASE: dify_plugin
DB_PORT: "5432"
DB_TYPE: postgresql
DB_USERNAME: postgres
DEBUG: "false"
DEPLOY_ENV: PRODUCTION
DIFY_BIND_ADDRESS: 0.0.0.0
DIFY_PORT: "5001"
DSL_EXPORT_ENCRYPT_DATASET_ID: "true"
ELASTICSEARCH_API_KEY: YOUR-ELASTICSEARCH_API_KEY
ELASTICSEARCH_CA_CERTS: ""
ELASTICSEARCH_CLOUD_URL: YOUR-ELASTICSEARCH_CLOUD_URL
ELASTICSEARCH_HOST: 0.0.0.0
ELASTICSEARCH_MAX_RETRIES: "10"
ELASTICSEARCH_PASSWORD: elastic
ELASTICSEARCH_PORT: "9200"
ELASTICSEARCH_REQUEST_TIMEOUT: "100000"
ELASTICSEARCH_RETRY_ON_TIMEOUT: "True"
ELASTICSEARCH_USE_CLOUD: "false"
ELASTICSEARCH_USERNAME: elastic
ELASTICSEARCH_VERIFY_CERTS: "False"
EMAIL_REGISTER_TOKEN_EXPIRY_MINUTES: "5"
ENABLE_CHECK_UPGRADABLE_PLUGIN_TASK: "true"
ENABLE_CLEAN_EMBEDDING_CACHE_TASK: "false"
ENABLE_CLEAN_MESSAGES: "false"
ENABLE_CLEAN_UNUSED_DATASETS_TASK: "false"
ENABLE_COLLABORATION_MODE: "false"
ENABLE_CREATE_TIDB_SERVERLESS_TASK: "false"
ENABLE_DATASETS_QUEUE_MONITOR: "false"
ENABLE_HUMAN_INPUT_TIMEOUT_TASK: "true"
ENABLE_MAIL_CLEAN_DOCUMENT_NOTIFY_TASK: "false"
ENABLE_OTEL: "false"
ENABLE_REQUEST_LOGGING: "False"
ENABLE_UPDATE_TIDB_SERVERLESS_STATUS_TASK: "false"
ENABLE_WEBSITE_FIRECRAWL: "true"
ENABLE_WEBSITE_JINAREADER: "true"
ENABLE_WEBSITE_WATERCRAWL: "true"
ENABLE_WORKFLOW_RUN_CLEANUP_TASK: "false"
ENABLE_WORKFLOW_SCHEDULE_POLLER_TASK: "true"
ENDPOINT_URL_TEMPLATE: http://localhost/e/{hook_id}
ENFORCE_LANGGENIUS_PLUGIN_SIGNATURES: "true"
ETCD_AUTO_COMPACTION_MODE: revision
ETCD_AUTO_COMPACTION_RETENTION: "1000"
ETCD_ENDPOINTS: etcd:2379
ETCD_QUOTA_BACKEND_BYTES: "4294967296"
ETCD_SNAPSHOT_COUNT: "50000"
ETL_TYPE: dify
EVENT_BUS_REDIS_CHANNEL_TYPE: pubsub
EVENT_BUS_REDIS_URL: ""
EVENT_BUS_REDIS_USE_CLUSTERS: "false"
EXPERIMENTAL_ENABLE_VINEXT: "false"
EXPOSE_NGINX_PORT: "80"
EXPOSE_NGINX_SSL_PORT: "443"
EXPOSE_PLUGIN_DAEMON_PORT: "5002"
EXPOSE_PLUGIN_DEBUGGING_HOST: localhost
EXPOSE_PLUGIN_DEBUGGING_PORT: "5003"
FILES_ACCESS_TIMEOUT: "300"
FILES_URL: ""
FLASK_DEBUG: "false"
FORCE_VERIFYING_SIGNATURE: "true"
GOOGLE_STORAGE_BUCKET_NAME: your-bucket-name
GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64: ""
GRAPH_ENGINE_MAX_WORKERS: "10"
GRAPH_ENGINE_MIN_WORKERS: "1"
GRAPH_ENGINE_SCALE_DOWN_IDLE_TIME: "5.0"
GRAPH_ENGINE_SCALE_UP_THRESHOLD: "3"
GUNICORN_TIMEOUT: "360"
HOLOGRES_ACCESS_KEY_ID: ""
HOLOGRES_ACCESS_KEY_SECRET: ""
HOLOGRES_BASE_QUANTIZATION_TYPE: rabitq
HOLOGRES_DATABASE: ""
HOLOGRES_DISTANCE_METHOD: Cosine
HOLOGRES_EF_CONSTRUCTION: "400"
HOLOGRES_HOST: ""
HOLOGRES_MAX_DEGREE: "64"
HOLOGRES_PORT: "80"
HOLOGRES_SCHEMA: public
HOLOGRES_TOKENIZER: jieba
HTTP_REQUEST_MAX_CONNECT_TIMEOUT: "10"
HTTP_REQUEST_MAX_READ_TIMEOUT: "600"
HTTP_REQUEST_MAX_WRITE_TIMEOUT: "600"
HTTP_REQUEST_NODE_MAX_BINARY_SIZE: "10485760"
HTTP_REQUEST_NODE_MAX_TEXT_SIZE: "1048576"
HTTP_REQUEST_NODE_SSL_VERIFY: "True"
HUAWEI_CLOUD_HOSTS: https://127.0.0.1:9200
HUAWEI_CLOUD_PASSWORD: admin
HUAWEI_CLOUD_USER: admin
HUAWEI_OBS_ACCESS_KEY: your-access-key
HUAWEI_OBS_BUCKET_NAME: your-bucket-name
HUAWEI_OBS_PATH_STYLE: "false"
HUAWEI_OBS_SECRET_KEY: your-secret-key
HUAWEI_OBS_SERVER: your-server-url
HUMAN_INPUT_TIMEOUT_TASK_INTERVAL: "1"
IMAGE_FILE_BATCH_LIMIT: "10"
INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH: "4000"
INIT_PASSWORD: ""
INTERNAL_FILES_URL: ""
INVITE_EXPIRY_HOURS: "72"
IRIS_CONNECTION_URL: ""
IRIS_DATABASE: USER
IRIS_HOST: iris
IRIS_MAX_CONNECTION: "3"
IRIS_MIN_CONNECTION: "1"
IRIS_PASSWORD: Dify@1234
IRIS_SCHEMA: dify
IRIS_SUPER_SERVER_PORT: "1972"
IRIS_TEXT_INDEX: "true"
IRIS_TEXT_INDEX_LANGUAGE: en
IRIS_TIMEZONE: UTC
IRIS_USER: _SYSTEM
IRIS_WEB_SERVER_PORT: "52773"
KIBANA_PORT: "5601"
LANG: C.UTF-8
LC_ALL: C.UTF-8
LINDORM_PASSWORD: admin
LINDORM_QUERY_TIMEOUT: "1"
LINDORM_URL: http://localhost:30070
LINDORM_USERNAME: admin
LINDORM_USING_UGC: "True"
LOG_DATEFORMAT: '%Y-%m-%d %H:%M:%S'
LOG_FILE: /app/logs/server.log
LOG_FILE_BACKUP_COUNT: "5"
LOG_FILE_MAX_SIZE: "20"
LOG_LEVEL: INFO
LOG_OUTPUT_FORMAT: text
LOG_TZ: UTC
LOGSTORE_DUAL_READ_ENABLED: "true"
LOGSTORE_DUAL_WRITE_ENABLED: "false"
LOGSTORE_ENABLE_PUT_GRAPH_FIELD: "true"
LOOP_NODE_MAX_COUNT: "100"
MAIL_DEFAULT_SEND_FROM: ""
MAIL_TYPE: resend
MARKETPLACE_API_URL: https://marketplace.dify.ai
MARKETPLACE_ENABLED: "true"
MATRIXONE_DATABASE: dify
MATRIXONE_HOST: matrixone
MATRIXONE_PASSWORD: "111"
MATRIXONE_PORT: "6001"
MATRIXONE_USER: dump
MAX_ITERATIONS_NUM: "99"
MAX_PARALLEL_LIMIT: "10"
MAX_SUBMIT_COUNT: "100"
MAX_TOOLS_NUM: "10"
MAX_TREE_DEPTH: "50"
MAX_VARIABLE_SIZE: "204800"
MIGRATION_ENABLED: "true"
MILVUS_ANALYZER_PARAMS: ""
MILVUS_AUTHORIZATION_ENABLED: "true"
MILVUS_DATABASE: ""
MILVUS_ENABLE_HYBRID_SEARCH: "False"
MILVUS_PASSWORD: ""
MILVUS_TOKEN: ""
MILVUS_URI: http://host.docker.internal:19530
MILVUS_USER: ""
MINIO_ACCESS_KEY: minioadmin
MINIO_ADDRESS: minio:9000
MINIO_SECRET_KEY: minioadmin
MULTIMODAL_SEND_FORMAT: base64
MYSCALE_DATABASE: dify
MYSCALE_FTS_PARAMS: ""
MYSCALE_HOST: myscale
MYSCALE_PASSWORD: ""
MYSCALE_PORT: "8123"
MYSCALE_USER: default
MYSQL_HOST_VOLUME: ./volumes/mysql/data
MYSQL_INNODB_BUFFER_POOL_SIZE: 512M
MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT: "2"
MYSQL_INNODB_LOG_FILE_SIZE: 128M
MYSQL_MAX_CONNECTIONS: "1000"
NEXT_PUBLIC_BATCH_CONCURRENCY: "5"
NEXT_PUBLIC_COOKIE_DOMAIN: ""
NEXT_PUBLIC_ENABLE_SINGLE_DOLLAR_LATEX: "false"
NEXT_PUBLIC_SOCKET_URL: ws://localhost
NGINX_CLIENT_MAX_BODY_SIZE: 100M
NGINX_ENABLE_CERTBOT_CHALLENGE: "false"
NGINX_HTTPS_ENABLED: "false"
NGINX_KEEPALIVE_TIMEOUT: "65"
NGINX_PORT: "80"
NGINX_PROXY_READ_TIMEOUT: 3600s
NGINX_PROXY_SEND_TIMEOUT: 3600s
NGINX_SERVER_NAME: _
NGINX_SSL_CERT_FILENAME: dify.crt
NGINX_SSL_CERT_KEY_FILENAME: dify.key
NGINX_SSL_PORT: "443"
NGINX_SSL_PROTOCOLS: TLSv1.2 TLSv1.3
NGINX_WORKER_PROCESSES: auto
NOTION_CLIENT_ID: ""
NOTION_CLIENT_SECRET: ""
NOTION_INTEGRATION_TYPE: public
NOTION_INTERNAL_SECRET: ""
OCEANBASE_CLUSTER_NAME: difyai
OCEANBASE_ENABLE_HYBRID_SEARCH: "false"
OCEANBASE_FULLTEXT_PARSER: ik
OCEANBASE_MEMORY_LIMIT: 6G
OCEANBASE_VECTOR_DATABASE: test
OCEANBASE_VECTOR_HOST: oceanbase
OCEANBASE_VECTOR_PASSWORD: difyai123456
OCEANBASE_VECTOR_PORT: "2881"
OCEANBASE_VECTOR_USER: root@test
OCI_ACCESS_KEY: your-access-key
OCI_BUCKET_NAME: your-bucket-name
OCI_ENDPOINT: https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com
OCI_REGION: us-ashburn-1
OCI_SECRET_KEY: your-secret-key
OPENAI_API_BASE: https://api.openai.com/v1
OPENDAL_FS_ROOT: storage
OPENDAL_SCHEME: fs
OPENGAUSS_DATABASE: dify
OPENGAUSS_ENABLE_PQ: "false"
OPENGAUSS_HOST: opengauss
OPENGAUSS_MAX_CONNECTION: "5"
OPENGAUSS_MIN_CONNECTION: "1"
OPENGAUSS_PASSWORD: Dify@123
OPENGAUSS_PORT: "6600"
OPENGAUSS_USER: postgres
OPENSEARCH_AUTH_METHOD: basic
OPENSEARCH_AWS_REGION: ap-southeast-1
OPENSEARCH_AWS_SERVICE: aoss
OPENSEARCH_BOOTSTRAP_MEMORY_LOCK: "true"
OPENSEARCH_DISCOVERY_TYPE: single-node
OPENSEARCH_HOST: opensearch
OPENSEARCH_INITIAL_ADMIN_PASSWORD: Qazwsxedc!@#123
OPENSEARCH_JAVA_OPTS_MAX: 1024m
OPENSEARCH_JAVA_OPTS_MIN: 512m
OPENSEARCH_MEMLOCK_HARD: "-1"
OPENSEARCH_MEMLOCK_SOFT: "-1"
OPENSEARCH_NOFILE_HARD: "65536"
OPENSEARCH_NOFILE_SOFT: "65536"
OPENSEARCH_PASSWORD: admin
OPENSEARCH_PORT: "9200"
OPENSEARCH_SECURE: "true"
OPENSEARCH_USER: admin
OPENSEARCH_VERIFY_CERTS: "true"
ORACLE_CHARACTERSET: AL32UTF8
ORACLE_CONFIG_DIR: /app/api/storage/wallet
ORACLE_DSN: oracle:1521/FREEPDB1
ORACLE_IS_AUTONOMOUS: "false"
ORACLE_PASSWORD: dify
ORACLE_PWD: Dify123456
ORACLE_USER: dify
ORACLE_WALLET_LOCATION: /app/api/storage/wallet
ORACLE_WALLET_PASSWORD: dify
OTEL_BATCH_EXPORT_SCHEDULE_DELAY: "5000"
OTEL_BATCH_EXPORT_TIMEOUT: "10000"
OTEL_EXPORTER_OTLP_PROTOCOL: ""
OTEL_EXPORTER_TYPE: otlp
OTEL_MAX_EXPORT_BATCH_SIZE: "512"
OTEL_MAX_QUEUE_SIZE: "2048"
OTEL_METRIC_EXPORT_INTERVAL: "60000"
OTEL_METRIC_EXPORT_TIMEOUT: "30000"
OTEL_SAMPLING_RATE: "0.1"
OTLP_API_KEY: ""
OTLP_BASE_ENDPOINT: http://localhost:4318
OTLP_METRIC_ENDPOINT: ""
OTLP_TRACE_ENDPOINT: ""
OWNER_TRANSFER_TOKEN_EXPIRY_MINUTES: "5"
PGDATA: /var/lib/postgresql/data/pgdata
PGVECTO_RS_DATABASE: dify
PGVECTO_RS_HOST: pgvecto-rs
PGVECTO_RS_PASSWORD: difyai123456
PGVECTO_RS_PORT: "5432"
PGVECTO_RS_USER: postgres
PGVECTOR_DATABASE: dify
PGVECTOR_HOST: pgvector
PGVECTOR_MAX_CONNECTION: "5"
PGVECTOR_MIN_CONNECTION: "1"
PGVECTOR_PASSWORD: difyai123456
PGVECTOR_PG_BIGM: "false"
PGVECTOR_PG_BIGM_VERSION: 1.2-20240606
PGVECTOR_PGDATA: /var/lib/postgresql/data/pgdata
PGVECTOR_PGUSER: postgres
PGVECTOR_PORT: "5432"
PGVECTOR_POSTGRES_DB: dify
PGVECTOR_POSTGRES_PASSWORD: difyai123456
PGVECTOR_USER: postgres
PIP_MIRROR_URL: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_ID: ""
PLUGIN_ALIYUN_OSS_ACCESS_KEY_SECRET: ""
PLUGIN_ALIYUN_OSS_AUTH_VERSION: v4
PLUGIN_ALIYUN_OSS_ENDPOINT: ""
PLUGIN_ALIYUN_OSS_PATH: ""
PLUGIN_ALIYUN_OSS_REGION: ""
PLUGIN_AWS_ACCESS_KEY: ""
PLUGIN_AWS_REGION: ""
PLUGIN_AWS_SECRET_KEY: ""
PLUGIN_AZURE_BLOB_STORAGE_CONNECTION_STRING: ""
PLUGIN_AZURE_BLOB_STORAGE_CONTAINER_NAME: ""
PLUGIN_BASED_TOKEN_COUNTING_ENABLED: "false"
PLUGIN_DAEMON_KEY: lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi
PLUGIN_DAEMON_PORT: "5002"
PLUGIN_DAEMON_TIMEOUT: "600.0"
PLUGIN_DAEMON_URL: http://plugin_daemon:5002
PLUGIN_DEBUGGING_HOST: 0.0.0.0
PLUGIN_DEBUGGING_PORT: "5003"
PLUGIN_DIFY_INNER_API_KEY: QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1
PLUGIN_DIFY_INNER_API_URL: http://api:5001
PLUGIN_INSTALLED_PATH: plugin
PLUGIN_MAX_EXECUTION_TIMEOUT: "600"
PLUGIN_MAX_PACKAGE_SIZE: "52428800"
PLUGIN_MEDIA_CACHE_PATH: assets
PLUGIN_MODEL_SCHEMA_CACHE_TTL: "3600"
PLUGIN_PACKAGE_CACHE_PATH: plugin_packages
PLUGIN_PPROF_ENABLED: "false"
PLUGIN_PYTHON_ENV_INIT_TIMEOUT: "120"
PLUGIN_S3_ENDPOINT: ""
PLUGIN_S3_USE_AWS: "false"
PLUGIN_S3_USE_AWS_MANAGED_IAM: "false"
PLUGIN_S3_USE_PATH_STYLE: "false"
PLUGIN_SENTRY_DSN: ""
PLUGIN_SENTRY_ENABLED: "false"
PLUGIN_STDIO_BUFFER_SIZE: "1024"
PLUGIN_STDIO_MAX_BUFFER_SIZE: "5242880"
PLUGIN_STORAGE_LOCAL_ROOT: /app/storage
PLUGIN_STORAGE_OSS_BUCKET: ""
PLUGIN_STORAGE_TYPE: local
PLUGIN_TENCENT_COS_REGION: ""
PLUGIN_TENCENT_COS_SECRET_ID: ""
PLUGIN_TENCENT_COS_SECRET_KEY: ""
PLUGIN_VOLCENGINE_TOS_ACCESS_KEY: ""
PLUGIN_VOLCENGINE_TOS_ENDPOINT: ""
PLUGIN_VOLCENGINE_TOS_REGION: ""
PLUGIN_VOLCENGINE_TOS_SECRET_KEY: ""
PLUGIN_WORKING_PATH: /app/storage/cwd
POSITION_PROVIDER_EXCLUDES: ""
POSITION_PROVIDER_INCLUDES: ""
POSITION_PROVIDER_PINS: ""
POSITION_TOOL_EXCLUDES: ""
POSITION_TOOL_INCLUDES: ""
POSITION_TOOL_PINS: ""
POSTGRES_EFFECTIVE_CACHE_SIZE: 4096MB
POSTGRES_IDLE_IN_TRANSACTION_SESSION_TIMEOUT: "0"
POSTGRES_MAINTENANCE_WORK_MEM: 64MB
POSTGRES_MAX_CONNECTIONS: "100"
POSTGRES_SHARED_BUFFERS: 128MB
POSTGRES_STATEMENT_TIMEOUT: "0"
POSTGRES_WORK_MEM: 4MB
PROMPT_GENERATION_MAX_TOKENS: "512"
PYTHONIOENCODING: utf-8
QDRANT_API_KEY: difyai123456
QDRANT_CLIENT_TIMEOUT: "20"
QDRANT_GRPC_ENABLED: "false"
QDRANT_GRPC_PORT: "6334"
QDRANT_REPLICATION_FACTOR: "1"
QDRANT_URL: http://qdrant:6333
QUEUE_MONITOR_ALERT_EMAILS: ""
QUEUE_MONITOR_INTERVAL: "30"
QUEUE_MONITOR_THRESHOLD: "200"
REDIS_CLUSTERS: ""
REDIS_CLUSTERS_PASSWORD: ""
REDIS_DB: "0"
REDIS_HEALTH_CHECK_INTERVAL: "30"
REDIS_HOST: redis
REDIS_KEY_PREFIX: ""
REDIS_MAX_CONNECTIONS: ""
REDIS_PASSWORD: difyai123456
REDIS_PORT: "6379"
REDIS_RETRY_BACKOFF_BASE: "1.0"
REDIS_RETRY_BACKOFF_CAP: "10.0"
REDIS_RETRY_RETRIES: "3"
REDIS_SENTINEL_PASSWORD: ""
REDIS_SENTINEL_SERVICE_NAME: ""
REDIS_SENTINEL_SOCKET_TIMEOUT: "0.1"
REDIS_SENTINEL_USERNAME: ""
REDIS_SENTINELS: ""
REDIS_SOCKET_CONNECT_TIMEOUT: "5.0"
REDIS_SOCKET_TIMEOUT: "5.0"
REDIS_SSL_CA_CERTS: ""
REDIS_SSL_CERT_REQS: CERT_NONE
REDIS_SSL_CERTFILE: ""
REDIS_SSL_KEYFILE: ""
REDIS_USE_CLUSTERS: "false"
REDIS_USE_SENTINEL: "false"
REDIS_USE_SSL: "false"
REDIS_USERNAME: ""
REFRESH_TOKEN_EXPIRE_DAYS: "30"
RELYT_DATABASE: postgres
RELYT_HOST: db
RELYT_PASSWORD: difyai123456
RELYT_PORT: "5432"
RELYT_USER: postgres
RESEND_API_KEY: your-resend-api-key
RESEND_API_URL: https://api.resend.com
RESET_PASSWORD_TOKEN_EXPIRY_MINUTES: "5"
RESPECT_XFORWARD_HEADERS_ENABLED: "false"
S3_ACCESS_KEY: ""
S3_ADDRESS_STYLE: auto
S3_BUCKET_NAME: difyai
S3_ENDPOINT: ""
S3_REGION: us-east-1
S3_SECRET_KEY: ""
S3_USE_AWS_MANAGED_IAM: "false"
SANDBOX_API_KEY: dify-sandbox
SANDBOX_ENABLE_NETWORK: "true"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_MAX_INTERVAL: "200"
SANDBOX_EXPIRED_RECORDS_CLEAN_BATCH_SIZE: "1000"
SANDBOX_EXPIRED_RECORDS_CLEAN_GRACEFUL_PERIOD: "21"
SANDBOX_EXPIRED_RECORDS_CLEAN_TASK_LOCK_TTL: "90000"
SANDBOX_EXPIRED_RECORDS_RETENTION_DAYS: "30"
SANDBOX_GIN_MODE: release
SANDBOX_HTTP_PROXY: http://ssrf_proxy:3128
SANDBOX_HTTPS_PROXY: http://ssrf_proxy:3128
SANDBOX_PORT: "8194"
SANDBOX_WORKER_TIMEOUT: "15"
SCARF_NO_ANALYTICS: "true"
SECRET_KEY: sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U
SEEKDB_MEMORY_LIMIT: 2G
SENDGRID_API_KEY: ""
SENTRY_DSN: ""
SERVER_WORKER_AMOUNT: "1"
SERVER_WORKER_CLASS: gevent
SERVER_WORKER_CONNECTIONS: "10"
SERVICE_API_URL: ""
SINGLE_CHUNK_ATTACHMENT_LIMIT: "10"
SMTP_LOCAL_HOSTNAME: ""
SMTP_OPPORTUNISTIC_TLS: "false"
SMTP_PASSWORD: ""
SMTP_PORT: "465"
SMTP_SERVER: ""
SMTP_USE_TLS: "true"
SMTP_USERNAME: ""
SQLALCHEMY_ECHO: "false"
SQLALCHEMY_MAX_OVERFLOW: "10"
SQLALCHEMY_POOL_PRE_PING: "false"
SQLALCHEMY_POOL_RECYCLE: "3600"
SQLALCHEMY_POOL_SIZE: "30"
SQLALCHEMY_POOL_TIMEOUT: "30"
SQLALCHEMY_POOL_USE_LIFO: "false"
SSRF_COREDUMP_DIR: /var/spool/squid
SSRF_DEFAULT_CONNECT_TIME_OUT: "5"
SSRF_DEFAULT_READ_TIME_OUT: "5"
SSRF_DEFAULT_TIME_OUT: "5"
SSRF_DEFAULT_WRITE_TIME_OUT: "5"
SSRF_HTTP_PORT: "3128"
SSRF_POOL_KEEPALIVE_EXPIRY: "5.0"
SSRF_POOL_MAX_CONNECTIONS: "100"
SSRF_POOL_MAX_KEEPALIVE_CONNECTIONS: "20"
SSRF_PROXY_HTTP_URL: http://ssrf_proxy:3128
SSRF_PROXY_HTTPS_URL: http://ssrf_proxy:3128
SSRF_REVERSE_PROXY_PORT: "8194"
SSRF_SANDBOX_HOST: sandbox
STORAGE_TYPE: opendal
SUPABASE_API_KEY: your-access-key
SUPABASE_BUCKET_NAME: your-bucket-name
SUPABASE_URL: your-server-url
SWAGGER_UI_ENABLED: "false"
SWAGGER_UI_PATH: /swagger-ui.html
TABLESTORE_ACCESS_KEY_ID: xxx
TABLESTORE_ACCESS_KEY_SECRET: xxx
TABLESTORE_ENDPOINT: https://instance-name.cn-hangzhou.ots.aliyuncs.com
TABLESTORE_INSTANCE_NAME: instance-name
TABLESTORE_NORMALIZE_FULLTEXT_BM25_SCORE: "false"
TEMPLATE_TRANSFORM_MAX_LENGTH: "400000"
TENANT_ISOLATED_TASK_CONCURRENCY: "1"
TENCENT_COS_BUCKET_NAME: your-bucket-name
TENCENT_COS_CUSTOM_DOMAIN: your-custom-domain
TENCENT_COS_REGION: your-region
TENCENT_COS_SCHEME: your-scheme
TENCENT_COS_SECRET_ID: your-secret-id
TENCENT_COS_SECRET_KEY: your-secret-key
TENCENT_VECTOR_DB_API_KEY: dify
TENCENT_VECTOR_DB_DATABASE: dify
TENCENT_VECTOR_DB_ENABLE_HYBRID_SEARCH: "false"
TENCENT_VECTOR_DB_REPLICAS: "2"
TENCENT_VECTOR_DB_SHARD: "1"
TENCENT_VECTOR_DB_TIMEOUT: "30"
TENCENT_VECTOR_DB_URL: http://127.0.0.1
TENCENT_VECTOR_DB_USERNAME: dify
TEXT_GENERATION_TIMEOUT_MS: "60000"
TIDB_API_URL: http://127.0.0.1
TIDB_IAM_API_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_ON_QDRANT_URL: http://127.0.0.1
TIDB_PRIVATE_KEY: dify
TIDB_PROJECT_ID: dify
TIDB_PUBLIC_KEY: dify
TIDB_REGION: regions/aws-us-east-1
TIDB_SPEND_LIMIT: "100"
TIDB_VECTOR_DATABASE: dify
TIDB_VECTOR_HOST: tidb
TIDB_VECTOR_PASSWORD: ""
TIDB_VECTOR_PORT: "4000"
TIDB_VECTOR_USER: ""
TOP_K_MAX_VALUE: "10"
TRIGGER_URL: http://localhost
UNSTRUCTURED_API_KEY: ""
UNSTRUCTURED_API_URL: ""
UPLOAD_AUDIO_FILE_SIZE_LIMIT: "50"
UPLOAD_FILE_BATCH_LIMIT: "5"
UPLOAD_FILE_EXTENSION_BLACKLIST: ""
UPLOAD_FILE_SIZE_LIMIT: "15"
UPLOAD_IMAGE_FILE_SIZE_LIMIT: "10"
UPLOAD_VIDEO_FILE_SIZE_LIMIT: "100"
UPSTASH_VECTOR_TOKEN: dify
UPSTASH_VECTOR_URL: https://xxx-vector.upstash.io
UV_CACHE_DIR: /tmp/.uv-cache
VASTBASE_DATABASE: dify
VASTBASE_HOST: vastbase
VASTBASE_MAX_CONNECTION: "5"
VASTBASE_MIN_CONNECTION: "1"
VASTBASE_PASSWORD: Difyai123456
VASTBASE_PORT: "5432"
VASTBASE_USER: dify
VECTOR_INDEX_NAME_PREFIX: Vector_index
VECTOR_STORE: weaviate
VIKINGDB_ACCESS_KEY: your-ak
VIKINGDB_CONNECTION_TIMEOUT: "30"
VIKINGDB_HOST: api-vikingdb.xxx.volces.com
VIKINGDB_REGION: cn-shanghai
VIKINGDB_SCHEMA: http
VIKINGDB_SECRET_KEY: your-sk
VIKINGDB_SOCKET_TIMEOUT: "30"
VOLCENGINE_TOS_ACCESS_KEY: your-access-key
VOLCENGINE_TOS_BUCKET_NAME: your-bucket-name
VOLCENGINE_TOS_ENDPOINT: your-server-url
VOLCENGINE_TOS_REGION: your-region
VOLCENGINE_TOS_SECRET_KEY: your-secret-key
WEAVIATE_API_KEY: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS: WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih
WEAVIATE_AUTHENTICATION_APIKEY_ENABLED: "true"
WEAVIATE_AUTHENTICATION_APIKEY_USERS: hello@dify.ai
WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED: "true"
WEAVIATE_AUTHORIZATION_ADMINLIST_USERS: hello@dify.ai
WEAVIATE_CLUSTER_HOSTNAME: node1
WEAVIATE_DEFAULT_VECTORIZER_MODULE: none
WEAVIATE_DISABLE_TELEMETRY: "false"
WEAVIATE_ENABLE_TOKENIZER_GSE: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_JA: "false"
WEAVIATE_ENABLE_TOKENIZER_KAGOME_KR: "false"
WEAVIATE_ENDPOINT: http://weaviate:8080
WEAVIATE_GRPC_ENDPOINT: grpc://weaviate:50051
WEAVIATE_PERSISTENCE_DATA_PATH: /var/lib/weaviate
WEAVIATE_QUERY_DEFAULTS_LIMIT: "25"
WEAVIATE_TOKENIZATION: word
WEB_API_CORS_ALLOW_ORIGINS: '*'
WEB_SENTRY_DSN: ""
WEBHOOK_REQUEST_BODY_MAX_SIZE: "10485760"
WORKFLOW_CALL_MAX_DEPTH: "5"
WORKFLOW_FILE_UPLOAD_LIMIT: "10"
WORKFLOW_LOG_CLEANUP_BATCH_SIZE: "100"
WORKFLOW_LOG_CLEANUP_ENABLED: "false"
WORKFLOW_LOG_CLEANUP_SPECIFIC_WORKFLOW_IDS: ""
WORKFLOW_LOG_RETENTION_DAYS: "30"
WORKFLOW_MAX_EXECUTION_STEPS: "500"
WORKFLOW_MAX_EXECUTION_TIME: "1200"
WORKFLOW_NODE_EXECUTION_STORAGE: rdbms
WORKFLOW_SCHEDULE_MAX_DISPATCH_PER_TICK: "0"
WORKFLOW_SCHEDULE_POLLER_BATCH_SIZE: "100"
WORKFLOW_SCHEDULE_POLLER_INTERVAL: "1"