Spaces:
Paused
Paused
| # Your App secret key will be used for securely signing the session cookie | |
| # Make sure you are changing this key for your deployment with a strong key. | |
| # You can generate a strong key using `openssl rand -base64 42`. | |
| # Alternatively you can set it with `SECRET_KEY` environment variable. | |
| SECRET_KEY= | |
| # Console API base URL | |
| CONSOLE_API_URL=http://127.0.0.1:5001 | |
| CONSOLE_WEB_URL=http://127.0.0.1:3000 | |
| # Service API base URL | |
| SERVICE_API_URL=http://127.0.0.1:5001 | |
| # Web APP base URL | |
| APP_WEB_URL=http://127.0.0.1:3000 | |
| # Files URL | |
| FILES_URL=http://127.0.0.1:5001 | |
| # The time in seconds after the signature is rejected | |
| FILES_ACCESS_TIMEOUT=300 | |
| # Access token expiration time in minutes | |
| ACCESS_TOKEN_EXPIRE_MINUTES=60 | |
| # celery configuration | |
| CELERY_BROKER_URL=redis://:difyai123456@localhost:6379/1 | |
| # redis configuration | |
| REDIS_HOST=localhost | |
| REDIS_PORT=6379 | |
| REDIS_USERNAME= | |
| REDIS_PASSWORD=difyai123456 | |
| REDIS_USE_SSL=false | |
| REDIS_DB=0 | |
| # redis Sentinel configuration. | |
| REDIS_USE_SENTINEL=false | |
| REDIS_SENTINELS= | |
| REDIS_SENTINEL_SERVICE_NAME= | |
| REDIS_SENTINEL_USERNAME= | |
| REDIS_SENTINEL_PASSWORD= | |
| REDIS_SENTINEL_SOCKET_TIMEOUT=0.1 | |
| # PostgreSQL database configuration | |
| DB_USERNAME=postgres | |
| DB_PASSWORD=difyai123456 | |
| DB_HOST=localhost | |
| DB_PORT=5432 | |
| DB_DATABASE=dify | |
| # Storage configuration | |
| # use for store upload files, private keys... | |
| # storage type: local, s3, aliyun-oss, azure-blob, baidu-obs, google-storage, huawei-obs, oci-storage, tencent-cos, volcengine-tos, supabase | |
| STORAGE_TYPE=local | |
| STORAGE_LOCAL_PATH=storage | |
| S3_USE_AWS_MANAGED_IAM=false | |
| S3_ENDPOINT=https://your-bucket-name.storage.s3.clooudflare.com | |
| S3_BUCKET_NAME=your-bucket-name | |
| S3_ACCESS_KEY=your-access-key | |
| S3_SECRET_KEY=your-secret-key | |
| S3_REGION=your-region | |
| # Azure Blob Storage configuration | |
| AZURE_BLOB_ACCOUNT_NAME=your-account-name | |
| AZURE_BLOB_ACCOUNT_KEY=your-account-key | |
| AZURE_BLOB_CONTAINER_NAME=yout-container-name | |
| AZURE_BLOB_ACCOUNT_URL=https://<your_account_name>.blob.core.windows.net | |
| # Aliyun oss Storage configuration | |
| ALIYUN_OSS_BUCKET_NAME=your-bucket-name | |
| ALIYUN_OSS_ACCESS_KEY=your-access-key | |
| ALIYUN_OSS_SECRET_KEY=your-secret-key | |
| ALIYUN_OSS_ENDPOINT=your-endpoint | |
| ALIYUN_OSS_AUTH_VERSION=v1 | |
| ALIYUN_OSS_REGION=your-region | |
| # Don't start with '/'. OSS doesn't support leading slash in object names. | |
| ALIYUN_OSS_PATH=your-path | |
| # Google Storage configuration | |
| GOOGLE_STORAGE_BUCKET_NAME=yout-bucket-name | |
| GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64=your-google-service-account-json-base64-string | |
| # Tencent COS Storage configuration | |
| TENCENT_COS_BUCKET_NAME=your-bucket-name | |
| TENCENT_COS_SECRET_KEY=your-secret-key | |
| TENCENT_COS_SECRET_ID=your-secret-id | |
| TENCENT_COS_REGION=your-region | |
| TENCENT_COS_SCHEME=your-scheme | |
| # Huawei OBS Storage Configuration | |
| HUAWEI_OBS_BUCKET_NAME=your-bucket-name | |
| HUAWEI_OBS_SECRET_KEY=your-secret-key | |
| HUAWEI_OBS_ACCESS_KEY=your-access-key | |
| HUAWEI_OBS_SERVER=your-server-url | |
| # Baidu OBS Storage Configuration | |
| BAIDU_OBS_BUCKET_NAME=your-bucket-name | |
| BAIDU_OBS_SECRET_KEY=your-secret-key | |
| BAIDU_OBS_ACCESS_KEY=your-access-key | |
| BAIDU_OBS_ENDPOINT=your-server-url | |
| # OCI Storage configuration | |
| OCI_ENDPOINT=your-endpoint | |
| OCI_BUCKET_NAME=your-bucket-name | |
| OCI_ACCESS_KEY=your-access-key | |
| OCI_SECRET_KEY=your-secret-key | |
| OCI_REGION=your-region | |
| # Volcengine tos Storage configuration | |
| VOLCENGINE_TOS_ENDPOINT=your-endpoint | |
| VOLCENGINE_TOS_BUCKET_NAME=your-bucket-name | |
| VOLCENGINE_TOS_ACCESS_KEY=your-access-key | |
| VOLCENGINE_TOS_SECRET_KEY=your-secret-key | |
| VOLCENGINE_TOS_REGION=your-region | |
| # Supabase Storage Configuration | |
| SUPABASE_BUCKET_NAME=your-bucket-name | |
| SUPABASE_API_KEY=your-access-key | |
| SUPABASE_URL=your-server-url | |
| # CORS configuration | |
| WEB_API_CORS_ALLOW_ORIGINS=http://127.0.0.1:3000,* | |
| CONSOLE_CORS_ALLOW_ORIGINS=http://127.0.0.1:3000,* | |
| # Vector database configuration, support: weaviate, qdrant, milvus, myscale, relyt, pgvecto_rs, pgvector, pgvector, chroma, opensearch, tidb_vector, couchbase, vikingdb, upstash, lindorm | |
| VECTOR_STORE=weaviate | |
| # Weaviate configuration | |
| WEAVIATE_ENDPOINT=http://localhost:8080 | |
| WEAVIATE_API_KEY=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih | |
| WEAVIATE_GRPC_ENABLED=false | |
| WEAVIATE_BATCH_SIZE=100 | |
| # Qdrant configuration, use `http://localhost:6333` for local mode or `https://your-qdrant-cluster-url.qdrant.io` for remote mode | |
| QDRANT_URL=http://localhost:6333 | |
| QDRANT_API_KEY=difyai123456 | |
| QDRANT_CLIENT_TIMEOUT=20 | |
| QDRANT_GRPC_ENABLED=false | |
| QDRANT_GRPC_PORT=6334 | |
| #Couchbase configuration | |
| COUCHBASE_CONNECTION_STRING=127.0.0.1 | |
| COUCHBASE_USER=Administrator | |
| COUCHBASE_PASSWORD=password | |
| COUCHBASE_BUCKET_NAME=Embeddings | |
| COUCHBASE_SCOPE_NAME=_default | |
| # Milvus configuration | |
| MILVUS_URI=http://127.0.0.1:19530 | |
| MILVUS_TOKEN= | |
| MILVUS_USER=root | |
| MILVUS_PASSWORD=Milvus | |
| # MyScale configuration | |
| MYSCALE_HOST=127.0.0.1 | |
| MYSCALE_PORT=8123 | |
| MYSCALE_USER=default | |
| MYSCALE_PASSWORD= | |
| MYSCALE_DATABASE=default | |
| MYSCALE_FTS_PARAMS= | |
| # Relyt configuration | |
| RELYT_HOST=127.0.0.1 | |
| RELYT_PORT=5432 | |
| RELYT_USER=postgres | |
| RELYT_PASSWORD=postgres | |
| RELYT_DATABASE=postgres | |
| # Tencent configuration | |
| TENCENT_VECTOR_DB_URL=http://127.0.0.1 | |
| TENCENT_VECTOR_DB_API_KEY=dify | |
| TENCENT_VECTOR_DB_TIMEOUT=30 | |
| TENCENT_VECTOR_DB_USERNAME=dify | |
| TENCENT_VECTOR_DB_DATABASE=dify | |
| TENCENT_VECTOR_DB_SHARD=1 | |
| TENCENT_VECTOR_DB_REPLICAS=2 | |
| # ElasticSearch configuration | |
| ELASTICSEARCH_HOST=127.0.0.1 | |
| ELASTICSEARCH_PORT=9200 | |
| ELASTICSEARCH_USERNAME=elastic | |
| ELASTICSEARCH_PASSWORD=elastic | |
| # PGVECTO_RS configuration | |
| PGVECTO_RS_HOST=localhost | |
| PGVECTO_RS_PORT=5431 | |
| PGVECTO_RS_USER=postgres | |
| PGVECTO_RS_PASSWORD=difyai123456 | |
| PGVECTO_RS_DATABASE=postgres | |
| # PGVector configuration | |
| PGVECTOR_HOST=127.0.0.1 | |
| PGVECTOR_PORT=5433 | |
| PGVECTOR_USER=postgres | |
| PGVECTOR_PASSWORD=postgres | |
| PGVECTOR_DATABASE=postgres | |
| PGVECTOR_MIN_CONNECTION=1 | |
| PGVECTOR_MAX_CONNECTION=5 | |
| # Tidb Vector configuration | |
| TIDB_VECTOR_HOST=xxx.eu-central-1.xxx.aws.tidbcloud.com | |
| TIDB_VECTOR_PORT=4000 | |
| TIDB_VECTOR_USER=xxx.root | |
| TIDB_VECTOR_PASSWORD=xxxxxx | |
| TIDB_VECTOR_DATABASE=dify | |
| # Tidb on qdrant configuration | |
| TIDB_ON_QDRANT_URL=http://127.0.0.1 | |
| TIDB_ON_QDRANT_API_KEY=dify | |
| TIDB_ON_QDRANT_CLIENT_TIMEOUT=20 | |
| TIDB_ON_QDRANT_GRPC_ENABLED=false | |
| TIDB_ON_QDRANT_GRPC_PORT=6334 | |
| TIDB_PUBLIC_KEY=dify | |
| TIDB_PRIVATE_KEY=dify | |
| TIDB_API_URL=http://127.0.0.1 | |
| TIDB_IAM_API_URL=http://127.0.0.1 | |
| TIDB_REGION=regions/aws-us-east-1 | |
| TIDB_PROJECT_ID=dify | |
| TIDB_SPEND_LIMIT=100 | |
| # Chroma configuration | |
| CHROMA_HOST=127.0.0.1 | |
| CHROMA_PORT=8000 | |
| CHROMA_TENANT=default_tenant | |
| CHROMA_DATABASE=default_database | |
| CHROMA_AUTH_PROVIDER=chromadb.auth.token_authn.TokenAuthenticationServerProvider | |
| CHROMA_AUTH_CREDENTIALS=difyai123456 | |
| # AnalyticDB configuration | |
| ANALYTICDB_KEY_ID=your-ak | |
| ANALYTICDB_KEY_SECRET=your-sk | |
| ANALYTICDB_REGION_ID=cn-hangzhou | |
| ANALYTICDB_INSTANCE_ID=gp-ab123456 | |
| ANALYTICDB_ACCOUNT=testaccount | |
| ANALYTICDB_PASSWORD=testpassword | |
| ANALYTICDB_NAMESPACE=dify | |
| ANALYTICDB_NAMESPACE_PASSWORD=difypassword | |
| # OpenSearch configuration | |
| OPENSEARCH_HOST=127.0.0.1 | |
| OPENSEARCH_PORT=9200 | |
| OPENSEARCH_USER=admin | |
| OPENSEARCH_PASSWORD=admin | |
| OPENSEARCH_SECURE=true | |
| # Baidu configuration | |
| BAIDU_VECTOR_DB_ENDPOINT=http://127.0.0.1:5287 | |
| BAIDU_VECTOR_DB_CONNECTION_TIMEOUT_MS=30000 | |
| BAIDU_VECTOR_DB_ACCOUNT=root | |
| BAIDU_VECTOR_DB_API_KEY=dify | |
| BAIDU_VECTOR_DB_DATABASE=dify | |
| BAIDU_VECTOR_DB_SHARD=1 | |
| BAIDU_VECTOR_DB_REPLICAS=3 | |
| # Upstash configuration | |
| UPSTASH_VECTOR_URL=your-server-url | |
| UPSTASH_VECTOR_TOKEN=your-access-token | |
| # ViKingDB configuration | |
| VIKINGDB_ACCESS_KEY=your-ak | |
| VIKINGDB_SECRET_KEY=your-sk | |
| VIKINGDB_REGION=cn-shanghai | |
| VIKINGDB_HOST=api-vikingdb.xxx.volces.com | |
| VIKINGDB_SCHEMA=http | |
| VIKINGDB_CONNECTION_TIMEOUT=30 | |
| VIKINGDB_SOCKET_TIMEOUT=30 | |
| # Lindorm configuration | |
| LINDORM_URL=http://ld-*******************-proxy-search-pub.lindorm.aliyuncs.com:30070 | |
| LINDORM_USERNAME=admin | |
| LINDORM_PASSWORD=admin | |
| # OceanBase Vector configuration | |
| OCEANBASE_VECTOR_HOST=127.0.0.1 | |
| OCEANBASE_VECTOR_PORT=2881 | |
| OCEANBASE_VECTOR_USER=root@test | |
| OCEANBASE_VECTOR_PASSWORD= | |
| OCEANBASE_VECTOR_DATABASE=test | |
| OCEANBASE_MEMORY_LIMIT=6G | |
| # Upload configuration | |
| UPLOAD_FILE_SIZE_LIMIT=15 | |
| UPLOAD_FILE_BATCH_LIMIT=5 | |
| UPLOAD_IMAGE_FILE_SIZE_LIMIT=10 | |
| UPLOAD_VIDEO_FILE_SIZE_LIMIT=100 | |
| UPLOAD_AUDIO_FILE_SIZE_LIMIT=50 | |
| # Model Configuration | |
| MULTIMODAL_SEND_IMAGE_FORMAT=base64 | |
| PROMPT_GENERATION_MAX_TOKENS=512 | |
| CODE_GENERATION_MAX_TOKENS=1024 | |
| # Mail configuration, support: resend, smtp | |
| MAIL_TYPE= | |
| MAIL_DEFAULT_SEND_FROM=no-reply <no-reply@dify.ai> | |
| RESEND_API_KEY= | |
| RESEND_API_URL=https://api.resend.com | |
| # smtp configuration | |
| SMTP_SERVER=smtp.gmail.com | |
| SMTP_PORT=465 | |
| SMTP_USERNAME=123 | |
| SMTP_PASSWORD=abc | |
| SMTP_USE_TLS=true | |
| SMTP_OPPORTUNISTIC_TLS=false | |
| # Sentry configuration | |
| SENTRY_DSN= | |
| # DEBUG | |
| DEBUG=false | |
| SQLALCHEMY_ECHO=false | |
| # Notion import configuration, support public and internal | |
| NOTION_INTEGRATION_TYPE=public | |
| NOTION_CLIENT_SECRET=you-client-secret | |
| NOTION_CLIENT_ID=you-client-id | |
| NOTION_INTERNAL_SECRET=you-internal-secret | |
| ETL_TYPE=dify | |
| UNSTRUCTURED_API_URL= | |
| UNSTRUCTURED_API_KEY= | |
| #ssrf | |
| SSRF_PROXY_HTTP_URL= | |
| SSRF_PROXY_HTTPS_URL= | |
| SSRF_DEFAULT_MAX_RETRIES=3 | |
| SSRF_DEFAULT_TIME_OUT= | |
| SSRF_DEFAULT_CONNECT_TIME_OUT= | |
| SSRF_DEFAULT_READ_TIME_OUT= | |
| SSRF_DEFAULT_WRITE_TIME_OUT= | |
| BATCH_UPLOAD_LIMIT=10 | |
| KEYWORD_DATA_SOURCE_TYPE=database | |
| # Workflow file upload limit | |
| WORKFLOW_FILE_UPLOAD_LIMIT=10 | |
| # CODE EXECUTION CONFIGURATION | |
| CODE_EXECUTION_ENDPOINT=http://127.0.0.1:8194 | |
| CODE_EXECUTION_API_KEY=dify-sandbox | |
| CODE_MAX_NUMBER=9223372036854775807 | |
| CODE_MIN_NUMBER=-9223372036854775808 | |
| CODE_MAX_STRING_LENGTH=80000 | |
| TEMPLATE_TRANSFORM_MAX_LENGTH=80000 | |
| CODE_MAX_STRING_ARRAY_LENGTH=30 | |
| CODE_MAX_OBJECT_ARRAY_LENGTH=30 | |
| CODE_MAX_NUMBER_ARRAY_LENGTH=1000 | |
| # API Tool configuration | |
| API_TOOL_DEFAULT_CONNECT_TIMEOUT=10 | |
| API_TOOL_DEFAULT_READ_TIMEOUT=60 | |
| # HTTP Node configuration | |
| HTTP_REQUEST_MAX_CONNECT_TIMEOUT=300 | |
| 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 | |
| # Respect X-* headers to redirect clients | |
| RESPECT_XFORWARD_HEADERS_ENABLED=false | |
| # Log file path | |
| LOG_FILE= | |
| # Log file max size, the unit is MB | |
| LOG_FILE_MAX_SIZE=20 | |
| # Log file max backup count | |
| LOG_FILE_BACKUP_COUNT=5 | |
| # Indexing configuration | |
| INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=1000 | |
| # Workflow runtime configuration | |
| WORKFLOW_MAX_EXECUTION_STEPS=500 | |
| WORKFLOW_MAX_EXECUTION_TIME=1200 | |
| WORKFLOW_CALL_MAX_DEPTH=5 | |
| MAX_VARIABLE_SIZE=204800 | |
| # App configuration | |
| APP_MAX_EXECUTION_TIME=1200 | |
| APP_MAX_ACTIVE_REQUESTS=0 | |
| # Celery beat configuration | |
| CELERY_BEAT_SCHEDULER_TIME=1 | |
| # Position configuration | |
| POSITION_TOOL_PINS= | |
| POSITION_TOOL_INCLUDES= | |
| POSITION_TOOL_EXCLUDES= | |
| POSITION_PROVIDER_PINS= | |
| POSITION_PROVIDER_INCLUDES= | |
| POSITION_PROVIDER_EXCLUDES= | |
| # Reset password token expiry minutes | |
| RESET_PASSWORD_TOKEN_EXPIRY_MINUTES=5 | |