diff --git a/docker/.env.example b/docker/.env.example index 8176155698..caacea05f0 100644 --- a/docker/.env.example +++ b/docker/.env.example @@ -11,6 +11,7 @@ # If empty, it is the same domain. # Example: https://api.console.dify.ai CONSOLE_API_URL= +CONSOLE_API_URL_NEW= # The front-end URL of the console web, # used to concatenate some front-end addresses and for CORS configuration use. @@ -249,7 +250,7 @@ DB_TYPE=postgresql DB_USERNAME=postgres DB_PASSWORD=difyai123456 DB_HOST=db_postgres -DB_PORT=5432 +DB_PORT=5433 DB_DATABASE=dify # The size of the database connection pool. @@ -342,7 +343,7 @@ MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT=2 # ------------------------------ REDIS_HOST=redis -REDIS_PORT=6379 +REDIS_PORT=6390 REDIS_USERNAME= REDIS_PASSWORD=difyai123456 REDIS_USE_SSL=false diff --git a/docker/docker-compose-demo.yaml b/docker/docker-compose-demo.yaml new file mode 100644 index 0000000000..9fde621092 --- /dev/null +++ b/docker/docker-compose-demo.yaml @@ -0,0 +1,4038 @@ +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://.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://.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://.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://.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://.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" diff --git a/docker/docker-compose.yaml b/docker/docker-compose.yaml index a10fdf77c6..4d9d9a91ee 100644 --- a/docker/docker-compose.yaml +++ b/docker/docker-compose.yaml @@ -6,6 +6,7 @@ x-shared-env: &shared-api-worker-env CONSOLE_API_URL: ${CONSOLE_API_URL:-} + CONSOLE_API_URL_NEW: ${CONSOLE_API_URL_NEW:-} CONSOLE_WEB_URL: ${CONSOLE_WEB_URL:-} SERVICE_API_URL: ${SERVICE_API_URL:-} TRIGGER_URL: ${TRIGGER_URL:-http://localhost} @@ -61,7 +62,7 @@ x-shared-env: &shared-api-worker-env DB_USERNAME: ${DB_USERNAME:-postgres} DB_PASSWORD: ${DB_PASSWORD:-difyai123456} DB_HOST: ${DB_HOST:-db_postgres} - DB_PORT: ${DB_PORT:-5432} + DB_PORT: ${DB_PORT:-5433} DB_DATABASE: ${DB_DATABASE:-dify} SQLALCHEMY_POOL_SIZE: ${SQLALCHEMY_POOL_SIZE:-30} SQLALCHEMY_MAX_OVERFLOW: ${SQLALCHEMY_MAX_OVERFLOW:-10} @@ -82,7 +83,7 @@ x-shared-env: &shared-api-worker-env MYSQL_INNODB_LOG_FILE_SIZE: ${MYSQL_INNODB_LOG_FILE_SIZE:-128M} MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT: ${MYSQL_INNODB_FLUSH_LOG_AT_TRX_COMMIT:-2} REDIS_HOST: ${REDIS_HOST:-redis} - REDIS_PORT: ${REDIS_PORT:-6379} + REDIS_PORT: ${REDIS_PORT:-6390} REDIS_USERNAME: ${REDIS_USERNAME:-} REDIS_PASSWORD: ${REDIS_PASSWORD:-difyai123456} REDIS_USE_SSL: ${REDIS_USE_SSL:-false} @@ -748,7 +749,7 @@ services: # Use the shared environment variables. <<: *shared-api-worker-env # Startup mode, 'api' starts the API server. - MODE: api + MODE: apina SENTRY_DSN: ${API_SENTRY_DSN:-} SENTRY_TRACES_SAMPLE_RATE: ${API_SENTRY_TRACES_SAMPLE_RATE:-1.0} SENTRY_PROFILES_SAMPLE_RATE: ${API_SENTRY_PROFILES_SAMPLE_RATE:-1.0}