feat(*):增加了一些模型
This commit is contained in:
		
							
								
								
									
										994
									
								
								dify/.env
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										994
									
								
								dify/.env
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,994 @@ | ||||
| # ------------------------------ | ||||
| # Environment Variables for API service & worker | ||||
| # ------------------------------ | ||||
|  | ||||
| # ------------------------------ | ||||
| # Common Variables | ||||
| # ------------------------------ | ||||
|  | ||||
| # The backend URL of the console API, | ||||
| # used to concatenate the authorization callback. | ||||
| # If empty, it is the same domain. | ||||
| # Example: https://api.console.dify.ai | ||||
| CONSOLE_API_URL= | ||||
|  | ||||
| # The front-end URL of the console web, | ||||
| # used to concatenate some front-end addresses and for CORS configuration use. | ||||
| # If empty, it is the same domain. | ||||
| # Example: https://console.dify.ai | ||||
| CONSOLE_WEB_URL= | ||||
|  | ||||
| # Service API Url, | ||||
| # used to display Service API Base Url to the front-end. | ||||
| # If empty, it is the same domain. | ||||
| # Example: https://api.dify.ai | ||||
| SERVICE_API_URL= | ||||
|  | ||||
| # WebApp API backend Url, | ||||
| # used to declare the back-end URL for the front-end API. | ||||
| # If empty, it is the same domain. | ||||
| # Example: https://api.app.dify.ai | ||||
| APP_API_URL= | ||||
|  | ||||
| # WebApp Url, | ||||
| # used to display WebAPP API Base Url to the front-end. | ||||
| # If empty, it is the same domain. | ||||
| # Example: https://app.dify.ai | ||||
| APP_WEB_URL= | ||||
|  | ||||
| # File preview or download Url prefix. | ||||
| # used to display File preview or download Url to the front-end or as Multi-model inputs; | ||||
| # Url is signed and has expiration time. | ||||
| FILES_URL= | ||||
|  | ||||
| # ------------------------------ | ||||
| # Server Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # The log level for the application. | ||||
| # Supported values are `DEBUG`, `INFO`, `WARNING`, `ERROR`, `CRITICAL` | ||||
| LOG_LEVEL=INFO | ||||
| # Log file path | ||||
| LOG_FILE=/app/logs/server.log | ||||
| # Log file max size, the unit is MB | ||||
| LOG_FILE_MAX_SIZE=20 | ||||
| # Log file max backup count | ||||
| LOG_FILE_BACKUP_COUNT=5 | ||||
| # Log dateformat | ||||
| LOG_DATEFORMAT=%Y-%m-%d %H:%M:%S | ||||
| # Log Timezone | ||||
| LOG_TZ=UTC | ||||
|  | ||||
| # Debug mode, default is false. | ||||
| # It is recommended to turn on this configuration for local development | ||||
| # to prevent some problems caused by monkey patch. | ||||
| DEBUG=false | ||||
|  | ||||
| # Flask debug mode, it can output trace information at the interface when turned on, | ||||
| # which is convenient for debugging. | ||||
| FLASK_DEBUG=false | ||||
|  | ||||
| # A secretkey that is used for securely signing the session cookie | ||||
| # and encrypting sensitive information on the database. | ||||
| # You can generate a strong key using `openssl rand -base64 42`. | ||||
| SECRET_KEY=sk-9f73s3ljTXVcMT3Blb3ljTqtsKiGHXVcMT3BlbkFJLK7U | ||||
|  | ||||
| # Password for admin user initialization. | ||||
| # If left unset, admin user will not be prompted for a password | ||||
| # when creating the initial admin account.  | ||||
| # The length of the password cannot exceed 30 charactors. | ||||
| INIT_PASSWORD= | ||||
|  | ||||
| # Deployment environment. | ||||
| # Supported values are `PRODUCTION`, `TESTING`. Default is `PRODUCTION`. | ||||
| # Testing environment. There will be a distinct color label on the front-end page, | ||||
| # indicating that this environment is a testing environment. | ||||
| DEPLOY_ENV=PRODUCTION | ||||
|  | ||||
| # Whether to enable the version check policy. | ||||
| # If set to empty, https://updates.dify.ai will be called for version check. | ||||
| CHECK_UPDATE_URL=https://updates.dify.ai | ||||
|  | ||||
| # Used to change the OpenAI base address, default is https://api.openai.com/v1. | ||||
| # When OpenAI cannot be accessed in China, replace it with a domestic mirror address, | ||||
| # or when a local model provides OpenAI compatible API, it can be replaced. | ||||
| OPENAI_API_BASE=https://api.openai.com/v1 | ||||
|  | ||||
| # When enabled, migrations will be executed prior to application startup | ||||
| # and the application will start after the migrations have completed. | ||||
| MIGRATION_ENABLED=true | ||||
|  | ||||
| # File Access Time specifies a time interval in seconds for the file to be accessed. | ||||
| # The default value is 300 seconds. | ||||
| FILES_ACCESS_TIMEOUT=300 | ||||
|  | ||||
| # Access token expiration time in minutes | ||||
| ACCESS_TOKEN_EXPIRE_MINUTES=60 | ||||
|  | ||||
| # Refresh token expiration time in days | ||||
| REFRESH_TOKEN_EXPIRE_DAYS=30 | ||||
|  | ||||
| # The maximum number of active requests for the application, where 0 means unlimited, should be a non-negative integer. | ||||
| APP_MAX_ACTIVE_REQUESTS=0 | ||||
| APP_MAX_EXECUTION_TIME=1200 | ||||
|  | ||||
| # ------------------------------ | ||||
| # Container Startup Related Configuration | ||||
| # Only effective when starting with docker image or docker-compose. | ||||
| # ------------------------------ | ||||
|  | ||||
| # API service binding address, default: 0.0.0.0, i.e., all addresses can be accessed. | ||||
| DIFY_BIND_ADDRESS=0.0.0.0 | ||||
|  | ||||
| # API service binding port number, default 5001. | ||||
| DIFY_PORT=5001 | ||||
|  | ||||
| # The number of API server workers, i.e., the number of workers. | ||||
| # Formula: number of cpu cores x 2 + 1 for sync, 1 for Gevent | ||||
| # Reference: https://docs.gunicorn.org/en/stable/design.html#how-many-workers | ||||
| SERVER_WORKER_AMOUNT=1 | ||||
|  | ||||
| # Defaults to gevent. If using windows, it can be switched to sync or solo. | ||||
| SERVER_WORKER_CLASS=gevent | ||||
|  | ||||
| # Default number of worker connections, the default is 10. | ||||
| SERVER_WORKER_CONNECTIONS=10 | ||||
|  | ||||
| # Similar to SERVER_WORKER_CLASS. | ||||
| # If using windows, it can be switched to sync or solo. | ||||
| CELERY_WORKER_CLASS= | ||||
|  | ||||
| # Request handling timeout. The default is 200, | ||||
| # it is recommended to set it to 360 to support a longer sse connection time. | ||||
| GUNICORN_TIMEOUT=360 | ||||
|  | ||||
| # The number of Celery workers. The default is 1, and can be set as needed. | ||||
| CELERY_WORKER_AMOUNT= | ||||
|  | ||||
| # Flag indicating whether to enable autoscaling of Celery workers. | ||||
| # | ||||
| # Autoscaling is useful when tasks are CPU intensive and can be dynamically | ||||
| # allocated and deallocated based on the workload. | ||||
| # | ||||
| # When autoscaling is enabled, the maximum and minimum number of workers can | ||||
| # be specified. The autoscaling algorithm will dynamically adjust the number | ||||
| # of workers within the specified range. | ||||
| # | ||||
| # Default is false (i.e., autoscaling is disabled). | ||||
| # | ||||
| # Example: | ||||
| # CELERY_AUTO_SCALE=true | ||||
| CELERY_AUTO_SCALE=false | ||||
|  | ||||
| # The maximum number of Celery workers that can be autoscaled. | ||||
| # This is optional and only used when autoscaling is enabled. | ||||
| # Default is not set. | ||||
| CELERY_MAX_WORKERS= | ||||
|  | ||||
| # The minimum number of Celery workers that can be autoscaled. | ||||
| # This is optional and only used when autoscaling is enabled. | ||||
| # Default is not set. | ||||
| CELERY_MIN_WORKERS= | ||||
|  | ||||
| # API Tool configuration | ||||
| API_TOOL_DEFAULT_CONNECT_TIMEOUT=10 | ||||
| API_TOOL_DEFAULT_READ_TIMEOUT=60 | ||||
|  | ||||
|  | ||||
| # ------------------------------ | ||||
| # Database Configuration | ||||
| # The database uses PostgreSQL. Please use the public schema. | ||||
| # It is consistent with the configuration in the 'db' service below. | ||||
| # ------------------------------ | ||||
|  | ||||
| DB_USERNAME=postgres | ||||
| DB_PASSWORD=difyai123456 | ||||
| DB_HOST=db | ||||
| DB_PORT=5432 | ||||
| DB_DATABASE=dify | ||||
| # The size of the database connection pool. | ||||
| # The default is 30 connections, which can be appropriately increased. | ||||
| SQLALCHEMY_POOL_SIZE=30 | ||||
| # Database connection pool recycling time, the default is 3600 seconds. | ||||
| SQLALCHEMY_POOL_RECYCLE=3600 | ||||
| # Whether to print SQL, default is false. | ||||
| SQLALCHEMY_ECHO=false | ||||
|  | ||||
| # Maximum number of connections to the database | ||||
| # Default is 100 | ||||
| # | ||||
| # Reference: https://www.postgresql.org/docs/current/runtime-config-connection.html#GUC-MAX-CONNECTIONS | ||||
| POSTGRES_MAX_CONNECTIONS=100 | ||||
|  | ||||
| # Sets the amount of shared memory used for postgres's shared buffers. | ||||
| # Default is 128MB | ||||
| # Recommended value: 25% of available memory | ||||
| # Reference: https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-SHARED-BUFFERS | ||||
| POSTGRES_SHARED_BUFFERS=128MB | ||||
|  | ||||
| # Sets the amount of memory used by each database worker for working space. | ||||
| # Default is 4MB | ||||
| # | ||||
| # Reference: https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-WORK-MEM | ||||
| POSTGRES_WORK_MEM=4MB | ||||
|  | ||||
| # Sets the amount of memory reserved for maintenance activities. | ||||
| # Default is 64MB | ||||
| # | ||||
| # Reference: https://www.postgresql.org/docs/current/runtime-config-resource.html#GUC-MAINTENANCE-WORK-MEM | ||||
| POSTGRES_MAINTENANCE_WORK_MEM=64MB | ||||
|  | ||||
| # Sets the planner's assumption about the effective cache size. | ||||
| # Default is 4096MB | ||||
| # | ||||
| # Reference: https://www.postgresql.org/docs/current/runtime-config-query.html#GUC-EFFECTIVE-CACHE-SIZE | ||||
| POSTGRES_EFFECTIVE_CACHE_SIZE=4096MB | ||||
|  | ||||
| # ------------------------------ | ||||
| # Redis Configuration | ||||
| # This Redis configuration is used for caching and for pub/sub during conversation. | ||||
| # ------------------------------ | ||||
|  | ||||
| REDIS_HOST=redis | ||||
| REDIS_PORT=6379 | ||||
| REDIS_USERNAME= | ||||
| REDIS_PASSWORD=difyai123456 | ||||
| REDIS_USE_SSL=false | ||||
| REDIS_DB=0 | ||||
|  | ||||
| # Whether to use Redis Sentinel mode. | ||||
| # If set to true, the application will automatically discover and connect to the master node through Sentinel. | ||||
| REDIS_USE_SENTINEL=false | ||||
|  | ||||
| # List of Redis Sentinel nodes. If Sentinel mode is enabled, provide at least one Sentinel IP and port. | ||||
| # Format: `<sentinel1_ip>:<sentinel1_port>,<sentinel2_ip>:<sentinel2_port>,<sentinel3_ip>:<sentinel3_port>` | ||||
| REDIS_SENTINELS= | ||||
| REDIS_SENTINEL_SERVICE_NAME= | ||||
| REDIS_SENTINEL_USERNAME= | ||||
| REDIS_SENTINEL_PASSWORD= | ||||
| REDIS_SENTINEL_SOCKET_TIMEOUT=0.1 | ||||
|  | ||||
| # List of Redis Cluster nodes. If Cluster mode is enabled, provide at least one Cluster IP and port. | ||||
| # Format: `<Cluster1_ip>:<Cluster1_port>,<Cluster2_ip>:<Cluster2_port>,<Cluster3_ip>:<Cluster3_port>` | ||||
| REDIS_USE_CLUSTERS=false | ||||
| REDIS_CLUSTERS= | ||||
| REDIS_CLUSTERS_PASSWORD= | ||||
|  | ||||
| # ------------------------------ | ||||
| # Celery Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # Use redis as the broker, and redis db 1 for celery broker. | ||||
| # Format as follows: `redis://<redis_username>:<redis_password>@<redis_host>:<redis_port>/<redis_database>` | ||||
| # Example: redis://:difyai123456@redis:6379/1 | ||||
| # If use Redis Sentinel, format as follows: `sentinel://<sentinel_username>:<sentinel_password>@<sentinel_host>:<sentinel_port>/<redis_database>` | ||||
| # Example: sentinel://localhost:26379/1;sentinel://localhost:26380/1;sentinel://localhost:26381/1 | ||||
| CELERY_BROKER_URL=redis://:difyai123456@redis:6379/1 | ||||
| BROKER_USE_SSL=false | ||||
|  | ||||
| # If you are using Redis Sentinel for high availability, configure the following settings. | ||||
| CELERY_USE_SENTINEL=false | ||||
| CELERY_SENTINEL_MASTER_NAME= | ||||
| CELERY_SENTINEL_SOCKET_TIMEOUT=0.1 | ||||
|  | ||||
| # ------------------------------ | ||||
| # CORS Configuration | ||||
| # Used to set the front-end cross-domain access policy. | ||||
| # ------------------------------ | ||||
|  | ||||
| # Specifies the allowed origins for cross-origin requests to the Web API, | ||||
| # e.g. https://dify.app or * for all origins. | ||||
| WEB_API_CORS_ALLOW_ORIGINS=* | ||||
|  | ||||
| # Specifies the allowed origins for cross-origin requests to the console API, | ||||
| # e.g. https://cloud.dify.ai or * for all origins. | ||||
| CONSOLE_CORS_ALLOW_ORIGINS=* | ||||
|  | ||||
| # ------------------------------ | ||||
| # File Storage Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # The type of storage to use for storing user files. | ||||
| STORAGE_TYPE=opendal | ||||
|  | ||||
| # Apache OpenDAL Configuration | ||||
| # The configuration for OpenDAL consists of the following format: OPENDAL_<SCHEME_NAME>_<CONFIG_NAME>. | ||||
| # You can find all the service configurations (CONFIG_NAME) in the repository at: https://github.com/apache/opendal/tree/main/core/src/services. | ||||
| # Dify will scan configurations starting with OPENDAL_<SCHEME_NAME> and automatically apply them. | ||||
| # The scheme name for the OpenDAL storage. | ||||
| OPENDAL_SCHEME=fs | ||||
| # Configurations for OpenDAL Local File System. | ||||
| OPENDAL_FS_ROOT=storage | ||||
|  | ||||
| # S3 Configuration | ||||
| # | ||||
| S3_ENDPOINT= | ||||
| S3_REGION=us-east-1 | ||||
| S3_BUCKET_NAME=difyai | ||||
| S3_ACCESS_KEY= | ||||
| S3_SECRET_KEY= | ||||
| # Whether to use AWS managed IAM roles for authenticating with the S3 service. | ||||
| # If set to false, the access key and secret key must be provided. | ||||
| S3_USE_AWS_MANAGED_IAM=false | ||||
|  | ||||
| # Azure Blob Configuration | ||||
| # | ||||
| AZURE_BLOB_ACCOUNT_NAME=difyai | ||||
| AZURE_BLOB_ACCOUNT_KEY=difyai | ||||
| AZURE_BLOB_CONTAINER_NAME=difyai-container | ||||
| AZURE_BLOB_ACCOUNT_URL=https://<your_account_name>.blob.core.windows.net | ||||
|  | ||||
| # Google Storage Configuration | ||||
| # | ||||
| GOOGLE_STORAGE_BUCKET_NAME=your-bucket-name | ||||
| GOOGLE_STORAGE_SERVICE_ACCOUNT_JSON_BASE64= | ||||
|  | ||||
| # The Alibaba Cloud OSS configurations, | ||||
| # | ||||
| ALIYUN_OSS_BUCKET_NAME=your-bucket-name | ||||
| ALIYUN_OSS_ACCESS_KEY=your-access-key | ||||
| ALIYUN_OSS_SECRET_KEY=your-secret-key | ||||
| ALIYUN_OSS_ENDPOINT=https://oss-ap-southeast-1-internal.aliyuncs.com | ||||
| ALIYUN_OSS_REGION=ap-southeast-1 | ||||
| ALIYUN_OSS_AUTH_VERSION=v4 | ||||
| # Don't start with '/'. OSS doesn't support leading slash in object names. | ||||
| ALIYUN_OSS_PATH=your-path | ||||
|  | ||||
| # Tencent COS 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 | ||||
|  | ||||
| # Oracle Storage Configuration | ||||
| # | ||||
| OCI_ENDPOINT=https://your-object-storage-namespace.compat.objectstorage.us-ashburn-1.oraclecloud.com | ||||
| OCI_BUCKET_NAME=your-bucket-name | ||||
| OCI_ACCESS_KEY=your-access-key | ||||
| OCI_SECRET_KEY=your-secret-key | ||||
| OCI_REGION=us-ashburn-1 | ||||
|  | ||||
| # Huawei OBS 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 | ||||
|  | ||||
| # Volcengine TOS Configuration | ||||
| # | ||||
| VOLCENGINE_TOS_BUCKET_NAME=your-bucket-name | ||||
| VOLCENGINE_TOS_SECRET_KEY=your-secret-key | ||||
| VOLCENGINE_TOS_ACCESS_KEY=your-access-key | ||||
| VOLCENGINE_TOS_ENDPOINT=your-server-url | ||||
| VOLCENGINE_TOS_REGION=your-region | ||||
|  | ||||
| # 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 | ||||
|  | ||||
| # Supabase Storage Configuration | ||||
| # | ||||
| SUPABASE_BUCKET_NAME=your-bucket-name | ||||
| SUPABASE_API_KEY=your-access-key | ||||
| SUPABASE_URL=your-server-url | ||||
|  | ||||
| # ------------------------------ | ||||
| # Vector Database Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # The type of vector store to use. | ||||
| # Supported values are `weaviate`, `qdrant`, `milvus`, `myscale`, `relyt`, `pgvector`, `pgvecto-rs`, `chroma`, `opensearch`, `tidb_vector`, `oracle`, `tencent`, `elasticsearch`, `elasticsearch-ja`, `analyticdb`, `couchbase`, `vikingdb`, `oceanbase`, `opengauss`. | ||||
| VECTOR_STORE=weaviate | ||||
|  | ||||
| # The Weaviate endpoint URL. Only available when VECTOR_STORE is `weaviate`. | ||||
| WEAVIATE_ENDPOINT=http://weaviate:8080 | ||||
| WEAVIATE_API_KEY=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih | ||||
|  | ||||
| # The Qdrant endpoint URL. Only available when VECTOR_STORE is `qdrant`. | ||||
| QDRANT_URL=http://qdrant:6333 | ||||
| QDRANT_API_KEY=difyai123456 | ||||
| QDRANT_CLIENT_TIMEOUT=20 | ||||
| QDRANT_GRPC_ENABLED=false | ||||
| QDRANT_GRPC_PORT=6334 | ||||
|  | ||||
| # Milvus configuration. Only available when VECTOR_STORE is `milvus`. | ||||
| # The milvus uri. | ||||
| MILVUS_URI=http://host.docker.internal:19530 | ||||
| MILVUS_TOKEN= | ||||
| MILVUS_USER= | ||||
| MILVUS_PASSWORD= | ||||
| MILVUS_ENABLE_HYBRID_SEARCH=False | ||||
|  | ||||
| # MyScale configuration, only available when VECTOR_STORE is `myscale` | ||||
| # For multi-language support, please set MYSCALE_FTS_PARAMS with referring to: | ||||
| # https://myscale.com/docs/en/text-search/#understanding-fts-index-parameters | ||||
| MYSCALE_HOST=myscale | ||||
| MYSCALE_PORT=8123 | ||||
| MYSCALE_USER=default | ||||
| MYSCALE_PASSWORD= | ||||
| MYSCALE_DATABASE=dify | ||||
| MYSCALE_FTS_PARAMS= | ||||
|  | ||||
| # Couchbase configurations, only available when VECTOR_STORE is `couchbase` | ||||
| # The connection string must include hostname defined in the docker-compose file (couchbase-server in this case) | ||||
| COUCHBASE_CONNECTION_STRING=couchbase://couchbase-server | ||||
| COUCHBASE_USER=Administrator | ||||
| COUCHBASE_PASSWORD=password | ||||
| COUCHBASE_BUCKET_NAME=Embeddings | ||||
| COUCHBASE_SCOPE_NAME=_default | ||||
|  | ||||
| # pgvector configurations, only available when VECTOR_STORE is `pgvector` | ||||
| PGVECTOR_HOST=pgvector | ||||
| PGVECTOR_PORT=5432 | ||||
| PGVECTOR_USER=postgres | ||||
| PGVECTOR_PASSWORD=difyai123456 | ||||
| PGVECTOR_DATABASE=dify | ||||
| PGVECTOR_MIN_CONNECTION=1 | ||||
| PGVECTOR_MAX_CONNECTION=5 | ||||
| PGVECTOR_PG_BIGM=false | ||||
| PGVECTOR_PG_BIGM_VERSION=1.2-20240606 | ||||
|  | ||||
| # pgvecto-rs configurations, only available when VECTOR_STORE is `pgvecto-rs` | ||||
| PGVECTO_RS_HOST=pgvecto-rs | ||||
| PGVECTO_RS_PORT=5432 | ||||
| PGVECTO_RS_USER=postgres | ||||
| PGVECTO_RS_PASSWORD=difyai123456 | ||||
| PGVECTO_RS_DATABASE=dify | ||||
|  | ||||
| # analyticdb configurations, only available when VECTOR_STORE is `analyticdb` | ||||
| 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 | ||||
| ANALYTICDB_HOST=gp-test.aliyuncs.com | ||||
| ANALYTICDB_PORT=5432 | ||||
| ANALYTICDB_MIN_CONNECTION=1 | ||||
| ANALYTICDB_MAX_CONNECTION=5 | ||||
|  | ||||
| # TiDB vector configurations, only available when VECTOR_STORE is `tidb` | ||||
| TIDB_VECTOR_HOST=tidb | ||||
| TIDB_VECTOR_PORT=4000 | ||||
| TIDB_VECTOR_USER= | ||||
| TIDB_VECTOR_PASSWORD= | ||||
| TIDB_VECTOR_DATABASE=dify | ||||
|  | ||||
| # Tidb on qdrant configuration, only available when VECTOR_STORE is `tidb_on_qdrant` | ||||
| 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, only available when VECTOR_STORE is `chroma` | ||||
| CHROMA_HOST=127.0.0.1 | ||||
| CHROMA_PORT=8000 | ||||
| CHROMA_TENANT=default_tenant | ||||
| CHROMA_DATABASE=default_database | ||||
| CHROMA_AUTH_PROVIDER=chromadb.auth.token_authn.TokenAuthClientProvider | ||||
| CHROMA_AUTH_CREDENTIALS= | ||||
|  | ||||
| # Oracle configuration, only available when VECTOR_STORE is `oracle` | ||||
| ORACLE_USER=dify | ||||
| ORACLE_PASSWORD=dify | ||||
| ORACLE_DSN=oracle:1521/FREEPDB1 | ||||
| ORACLE_CONFIG_DIR=/app/api/storage/wallet | ||||
| ORACLE_WALLET_LOCATION=/app/api/storage/wallet | ||||
| ORACLE_WALLET_PASSWORD=dify | ||||
| ORACLE_IS_AUTONOMOUS=false | ||||
|  | ||||
| # relyt configurations, only available when VECTOR_STORE is `relyt` | ||||
| RELYT_HOST=db | ||||
| RELYT_PORT=5432 | ||||
| RELYT_USER=postgres | ||||
| RELYT_PASSWORD=difyai123456 | ||||
| RELYT_DATABASE=postgres | ||||
|  | ||||
| # open search configuration, only available when VECTOR_STORE is `opensearch` | ||||
| OPENSEARCH_HOST=opensearch | ||||
| OPENSEARCH_PORT=9200 | ||||
| OPENSEARCH_USER=admin | ||||
| OPENSEARCH_PASSWORD=admin | ||||
| OPENSEARCH_SECURE=true | ||||
|  | ||||
| # tencent vector configurations, only available when VECTOR_STORE is `tencent` | ||||
| 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, only available when VECTOR_STORE is `elasticsearch` | ||||
| ELASTICSEARCH_HOST=0.0.0.0 | ||||
| ELASTICSEARCH_PORT=9200 | ||||
| ELASTICSEARCH_USERNAME=elastic | ||||
| ELASTICSEARCH_PASSWORD=elastic | ||||
| KIBANA_PORT=5601 | ||||
|  | ||||
| # baidu vector configurations, only available when VECTOR_STORE is `baidu` | ||||
| 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 | ||||
|  | ||||
| # VikingDB configurations, only available when VECTOR_STORE is `vikingdb` | ||||
| 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, only available when VECTOR_STORE is `lindorm` | ||||
| LINDORM_URL=http://lindorm:30070 | ||||
| LINDORM_USERNAME=lindorm | ||||
| LINDORM_PASSWORD=lindorm | ||||
|  | ||||
| # OceanBase Vector configuration, only available when VECTOR_STORE is `oceanbase` | ||||
| OCEANBASE_VECTOR_HOST=oceanbase | ||||
| OCEANBASE_VECTOR_PORT=2881 | ||||
| OCEANBASE_VECTOR_USER=root@test | ||||
| OCEANBASE_VECTOR_PASSWORD=difyai123456 | ||||
| OCEANBASE_VECTOR_DATABASE=test | ||||
| OCEANBASE_CLUSTER_NAME=difyai | ||||
| OCEANBASE_MEMORY_LIMIT=6G | ||||
|  | ||||
| # opengauss configurations, only available when VECTOR_STORE is `opengauss` | ||||
| OPENGAUSS_HOST=opengauss | ||||
| OPENGAUSS_PORT=6600 | ||||
| OPENGAUSS_USER=postgres | ||||
| OPENGAUSS_PASSWORD=Dify@123 | ||||
| OPENGAUSS_DATABASE=dify | ||||
| OPENGAUSS_MIN_CONNECTION=1 | ||||
| OPENGAUSS_MAX_CONNECTION=5 | ||||
|  | ||||
| # Upstash Vector configuration, only available when VECTOR_STORE is `upstash` | ||||
| UPSTASH_VECTOR_URL=https://xxx-vector.upstash.io | ||||
| UPSTASH_VECTOR_TOKEN=dify | ||||
|  | ||||
| # ------------------------------ | ||||
| # Knowledge Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # Upload file size limit, default 15M. | ||||
| UPLOAD_FILE_SIZE_LIMIT=15 | ||||
|  | ||||
| # The maximum number of files that can be uploaded at a time, default 5. | ||||
| UPLOAD_FILE_BATCH_LIMIT=5 | ||||
|  | ||||
| # ETL type, support: `dify`, `Unstructured` | ||||
| # `dify` Dify's proprietary file extraction scheme | ||||
| # `Unstructured` Unstructured.io file extraction scheme | ||||
| ETL_TYPE=dify | ||||
|  | ||||
| # Unstructured API path and API key, needs to be configured when ETL_TYPE is Unstructured | ||||
| # Or using Unstructured for document extractor node for pptx. | ||||
| # For example: http://unstructured:8000/general/v0/general | ||||
| UNSTRUCTURED_API_URL= | ||||
| UNSTRUCTURED_API_KEY= | ||||
| SCARF_NO_ANALYTICS=true | ||||
|  | ||||
| # ------------------------------ | ||||
| # Model Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # The maximum number of tokens allowed for prompt generation. | ||||
| # This setting controls the upper limit of tokens that can be used by the LLM  | ||||
| # when generating a prompt in the prompt generation tool. | ||||
| # Default: 512 tokens. | ||||
| PROMPT_GENERATION_MAX_TOKENS=512 | ||||
|  | ||||
| # The maximum number of tokens allowed for code generation. | ||||
| # This setting controls the upper limit of tokens that can be used by the LLM  | ||||
| # when generating code in the code generation tool. | ||||
| # Default: 1024 tokens. | ||||
| CODE_GENERATION_MAX_TOKENS=1024 | ||||
|  | ||||
| # ------------------------------ | ||||
| # Multi-modal Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # The format of the image/video/audio/document sent when the multi-modal model is input, | ||||
| # the default is base64, optional url. | ||||
| # The delay of the call in url mode will be lower than that in base64 mode. | ||||
| # It is generally recommended to use the more compatible base64 mode. | ||||
| # If configured as url, you need to configure FILES_URL as an externally accessible address so that the multi-modal model can access the image/video/audio/document. | ||||
| MULTIMODAL_SEND_FORMAT=base64 | ||||
| # Upload image file size limit, default 10M. | ||||
| UPLOAD_IMAGE_FILE_SIZE_LIMIT=10 | ||||
| # Upload video file size limit, default 100M. | ||||
| UPLOAD_VIDEO_FILE_SIZE_LIMIT=100 | ||||
| # Upload audio file size limit, default 50M. | ||||
| UPLOAD_AUDIO_FILE_SIZE_LIMIT=50 | ||||
|  | ||||
| # ------------------------------ | ||||
| # Sentry Configuration | ||||
| # Used for application monitoring and error log tracking. | ||||
| # ------------------------------ | ||||
| SENTRY_DSN= | ||||
|  | ||||
| # API Service Sentry DSN address, default is empty, when empty, | ||||
| # all monitoring information is not reported to Sentry. | ||||
| # If not set, Sentry error reporting will be disabled. | ||||
| API_SENTRY_DSN= | ||||
| # API Service The reporting ratio of Sentry events, if it is 0.01, it is 1%. | ||||
| API_SENTRY_TRACES_SAMPLE_RATE=1.0 | ||||
| # API Service The reporting ratio of Sentry profiles, if it is 0.01, it is 1%. | ||||
| API_SENTRY_PROFILES_SAMPLE_RATE=1.0 | ||||
|  | ||||
| # Web Service Sentry DSN address, default is empty, when empty, | ||||
| # all monitoring information is not reported to Sentry. | ||||
| # If not set, Sentry error reporting will be disabled. | ||||
| WEB_SENTRY_DSN= | ||||
|  | ||||
| # ------------------------------ | ||||
| # Notion Integration Configuration | ||||
| # Variables can be obtained by applying for Notion integration: https://www.notion.so/my-integrations | ||||
| # ------------------------------ | ||||
|  | ||||
| # Configure as "public" or "internal". | ||||
| # Since Notion's OAuth redirect URL only supports HTTPS, | ||||
| # if deploying locally, please use Notion's internal integration. | ||||
| NOTION_INTEGRATION_TYPE=public | ||||
| # Notion OAuth client secret (used for public integration type) | ||||
| NOTION_CLIENT_SECRET= | ||||
| # Notion OAuth client id (used for public integration type) | ||||
| NOTION_CLIENT_ID= | ||||
| # Notion internal integration secret. | ||||
| # If the value of NOTION_INTEGRATION_TYPE is "internal", | ||||
| # you need to configure this variable. | ||||
| NOTION_INTERNAL_SECRET= | ||||
|  | ||||
| # ------------------------------ | ||||
| # Mail related configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # Mail type, support: resend, smtp | ||||
| MAIL_TYPE=resend | ||||
|  | ||||
| # Default send from email address, if not specified | ||||
| MAIL_DEFAULT_SEND_FROM= | ||||
|  | ||||
| # API-Key for the Resend email provider, used when MAIL_TYPE is `resend`. | ||||
| RESEND_API_URL=https://api.resend.com | ||||
| RESEND_API_KEY=your-resend-api-key | ||||
|  | ||||
|  | ||||
| # SMTP server configuration, used when MAIL_TYPE is `smtp` | ||||
| SMTP_SERVER= | ||||
| SMTP_PORT=465 | ||||
| SMTP_USERNAME= | ||||
| SMTP_PASSWORD= | ||||
| SMTP_USE_TLS=true | ||||
| SMTP_OPPORTUNISTIC_TLS=false | ||||
|  | ||||
| # ------------------------------ | ||||
| # Others Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # Maximum length of segmentation tokens for indexing | ||||
| INDEXING_MAX_SEGMENTATION_TOKENS_LENGTH=4000 | ||||
|  | ||||
| # Member invitation link valid time (hours), | ||||
| # Default: 72. | ||||
| INVITE_EXPIRY_HOURS=72 | ||||
|  | ||||
| # Reset password token valid time (minutes), | ||||
| RESET_PASSWORD_TOKEN_EXPIRY_MINUTES=5 | ||||
|  | ||||
| # The sandbox service endpoint. | ||||
| CODE_EXECUTION_ENDPOINT=http://sandbox:8194 | ||||
| CODE_EXECUTION_API_KEY=dify-sandbox | ||||
| CODE_MAX_NUMBER=9223372036854775807 | ||||
| CODE_MIN_NUMBER=-9223372036854775808 | ||||
| CODE_MAX_DEPTH=5 | ||||
| CODE_MAX_PRECISION=20 | ||||
| CODE_MAX_STRING_LENGTH=80000 | ||||
| CODE_MAX_STRING_ARRAY_LENGTH=30 | ||||
| CODE_MAX_OBJECT_ARRAY_LENGTH=30 | ||||
| CODE_MAX_NUMBER_ARRAY_LENGTH=1000 | ||||
| CODE_EXECUTION_CONNECT_TIMEOUT=10 | ||||
| CODE_EXECUTION_READ_TIMEOUT=60 | ||||
| CODE_EXECUTION_WRITE_TIMEOUT=10 | ||||
| TEMPLATE_TRANSFORM_MAX_LENGTH=80000 | ||||
|  | ||||
| # Workflow runtime configuration | ||||
| WORKFLOW_MAX_EXECUTION_STEPS=500 | ||||
| WORKFLOW_MAX_EXECUTION_TIME=1200 | ||||
| WORKFLOW_CALL_MAX_DEPTH=5 | ||||
| MAX_VARIABLE_SIZE=204800 | ||||
| WORKFLOW_PARALLEL_DEPTH_LIMIT=3 | ||||
| WORKFLOW_FILE_UPLOAD_LIMIT=10 | ||||
|  | ||||
| # HTTP request node in workflow configuration | ||||
| HTTP_REQUEST_NODE_MAX_BINARY_SIZE=10485760 | ||||
| HTTP_REQUEST_NODE_MAX_TEXT_SIZE=1048576 | ||||
| HTTP_REQUEST_NODE_SSL_VERIFY=True | ||||
|  | ||||
| # SSRF Proxy server HTTP URL | ||||
| SSRF_PROXY_HTTP_URL=http://ssrf_proxy:3128 | ||||
| # SSRF Proxy server HTTPS URL | ||||
| SSRF_PROXY_HTTPS_URL=http://ssrf_proxy:3128 | ||||
|  | ||||
| # Maximum loop count in the workflow | ||||
| LOOP_NODE_MAX_COUNT=100 | ||||
|  | ||||
| # The maximum number of tools that can be used in the agent. | ||||
| MAX_TOOLS_NUM=10 | ||||
|  | ||||
| # Maximum number of Parallelism branches in the workflow | ||||
| MAX_PARALLEL_LIMIT=10 | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for web Service | ||||
| # ------------------------------ | ||||
|  | ||||
| # The timeout for the text generation in millisecond | ||||
| TEXT_GENERATION_TIMEOUT_MS=60000 | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for db Service | ||||
| # ------------------------------ | ||||
|  | ||||
| PGUSER=${DB_USERNAME} | ||||
| # The password for the default postgres user. | ||||
| POSTGRES_PASSWORD=${DB_PASSWORD} | ||||
| # The name of the default postgres database. | ||||
| POSTGRES_DB=${DB_DATABASE} | ||||
| # postgres data directory | ||||
| PGDATA=/var/lib/postgresql/data/pgdata | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for sandbox Service | ||||
| # ------------------------------ | ||||
|  | ||||
| # The API key for the sandbox service | ||||
| SANDBOX_API_KEY=dify-sandbox | ||||
| # The mode in which the Gin framework runs | ||||
| SANDBOX_GIN_MODE=release | ||||
| # The timeout for the worker in seconds | ||||
| SANDBOX_WORKER_TIMEOUT=15 | ||||
| # Enable network for the sandbox service | ||||
| SANDBOX_ENABLE_NETWORK=true | ||||
| # HTTP proxy URL for SSRF protection | ||||
| SANDBOX_HTTP_PROXY=http://ssrf_proxy:3128 | ||||
| # HTTPS proxy URL for SSRF protection | ||||
| SANDBOX_HTTPS_PROXY=http://ssrf_proxy:3128 | ||||
| # The port on which the sandbox service runs | ||||
| SANDBOX_PORT=8194 | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for weaviate Service | ||||
| # (only used when VECTOR_STORE is weaviate) | ||||
| # ------------------------------ | ||||
| WEAVIATE_PERSISTENCE_DATA_PATH=/var/lib/weaviate | ||||
| WEAVIATE_QUERY_DEFAULTS_LIMIT=25 | ||||
| WEAVIATE_AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED=true | ||||
| WEAVIATE_DEFAULT_VECTORIZER_MODULE=none | ||||
| WEAVIATE_CLUSTER_HOSTNAME=node1 | ||||
| WEAVIATE_AUTHENTICATION_APIKEY_ENABLED=true | ||||
| WEAVIATE_AUTHENTICATION_APIKEY_ALLOWED_KEYS=WVF5YThaHlkYwhGUSmCRgsX3tD5ngdN8pkih | ||||
| WEAVIATE_AUTHENTICATION_APIKEY_USERS=hello@dify.ai | ||||
| WEAVIATE_AUTHORIZATION_ADMINLIST_ENABLED=true | ||||
| WEAVIATE_AUTHORIZATION_ADMINLIST_USERS=hello@dify.ai | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for Chroma | ||||
| # (only used when VECTOR_STORE is chroma) | ||||
| # ------------------------------ | ||||
|  | ||||
| # Authentication credentials for Chroma server | ||||
| CHROMA_SERVER_AUTHN_CREDENTIALS=difyai123456 | ||||
| # Authentication provider for Chroma server | ||||
| CHROMA_SERVER_AUTHN_PROVIDER=chromadb.auth.token_authn.TokenAuthenticationServerProvider | ||||
| # Persistence setting for Chroma server | ||||
| CHROMA_IS_PERSISTENT=TRUE | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for Oracle Service | ||||
| # (only used when VECTOR_STORE is Oracle) | ||||
| # ------------------------------ | ||||
| ORACLE_PWD=Dify123456 | ||||
| ORACLE_CHARACTERSET=AL32UTF8 | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for milvus Service | ||||
| # (only used when VECTOR_STORE is milvus) | ||||
| # ------------------------------ | ||||
| # ETCD configuration for auto compaction mode | ||||
| ETCD_AUTO_COMPACTION_MODE=revision | ||||
| # ETCD configuration for auto compaction retention in terms of number of revisions | ||||
| ETCD_AUTO_COMPACTION_RETENTION=1000 | ||||
| # ETCD configuration for backend quota in bytes | ||||
| ETCD_QUOTA_BACKEND_BYTES=4294967296 | ||||
| # ETCD configuration for the number of changes before triggering a snapshot | ||||
| ETCD_SNAPSHOT_COUNT=50000 | ||||
| # MinIO access key for authentication | ||||
| MINIO_ACCESS_KEY=minioadmin | ||||
| # MinIO secret key for authentication | ||||
| MINIO_SECRET_KEY=minioadmin | ||||
| # ETCD service endpoints | ||||
| ETCD_ENDPOINTS=etcd:2379 | ||||
| # MinIO service address | ||||
| MINIO_ADDRESS=minio:9000 | ||||
| # Enable or disable security authorization | ||||
| MILVUS_AUTHORIZATION_ENABLED=true | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for pgvector / pgvector-rs Service | ||||
| # (only used when VECTOR_STORE is pgvector / pgvector-rs) | ||||
| # ------------------------------ | ||||
| PGVECTOR_PGUSER=postgres | ||||
| # The password for the default postgres user. | ||||
| PGVECTOR_POSTGRES_PASSWORD=difyai123456 | ||||
| # The name of the default postgres database. | ||||
| PGVECTOR_POSTGRES_DB=dify | ||||
| # postgres data directory | ||||
| PGVECTOR_PGDATA=/var/lib/postgresql/data/pgdata | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for opensearch | ||||
| # (only used when VECTOR_STORE is opensearch) | ||||
| # ------------------------------ | ||||
| OPENSEARCH_DISCOVERY_TYPE=single-node | ||||
| OPENSEARCH_BOOTSTRAP_MEMORY_LOCK=true | ||||
| OPENSEARCH_JAVA_OPTS_MIN=512m | ||||
| OPENSEARCH_JAVA_OPTS_MAX=1024m | ||||
| OPENSEARCH_INITIAL_ADMIN_PASSWORD=Qazwsxedc!@#123 | ||||
| OPENSEARCH_MEMLOCK_SOFT=-1 | ||||
| OPENSEARCH_MEMLOCK_HARD=-1 | ||||
| OPENSEARCH_NOFILE_SOFT=65536 | ||||
| OPENSEARCH_NOFILE_HARD=65536 | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for Nginx reverse proxy | ||||
| # ------------------------------ | ||||
| NGINX_SERVER_NAME=_ | ||||
| NGINX_HTTPS_ENABLED=false | ||||
| # HTTP port | ||||
| NGINX_PORT=80 | ||||
| # SSL settings are only applied when HTTPS_ENABLED is true | ||||
| NGINX_SSL_PORT=443 | ||||
| # if HTTPS_ENABLED is true, you're required to add your own SSL certificates/keys to the `./nginx/ssl` directory | ||||
| # and modify the env vars below accordingly. | ||||
| NGINX_SSL_CERT_FILENAME=dify.crt | ||||
| NGINX_SSL_CERT_KEY_FILENAME=dify.key | ||||
| NGINX_SSL_PROTOCOLS=TLSv1.1 TLSv1.2 TLSv1.3 | ||||
|  | ||||
| # Nginx performance tuning | ||||
| NGINX_WORKER_PROCESSES=auto | ||||
| NGINX_CLIENT_MAX_BODY_SIZE=15M | ||||
| NGINX_KEEPALIVE_TIMEOUT=65 | ||||
|  | ||||
| # Proxy settings | ||||
| NGINX_PROXY_READ_TIMEOUT=3600s | ||||
| NGINX_PROXY_SEND_TIMEOUT=3600s | ||||
|  | ||||
| # Set true to accept requests for /.well-known/acme-challenge/ | ||||
| NGINX_ENABLE_CERTBOT_CHALLENGE=false | ||||
|  | ||||
| # ------------------------------ | ||||
| # Certbot Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| # Email address (required to get certificates from Let's Encrypt) | ||||
| CERTBOT_EMAIL=your_email@example.com | ||||
|  | ||||
| # Domain name | ||||
| CERTBOT_DOMAIN=your_domain.com | ||||
|  | ||||
| # certbot command options | ||||
| # i.e: --force-renewal --dry-run --test-cert --debug | ||||
| CERTBOT_OPTIONS= | ||||
|  | ||||
| # ------------------------------ | ||||
| # Environment Variables for SSRF Proxy | ||||
| # ------------------------------ | ||||
| SSRF_HTTP_PORT=3128 | ||||
| SSRF_COREDUMP_DIR=/var/spool/squid | ||||
| SSRF_REVERSE_PROXY_PORT=8194 | ||||
| SSRF_SANDBOX_HOST=sandbox | ||||
| SSRF_DEFAULT_TIME_OUT=5 | ||||
| SSRF_DEFAULT_CONNECT_TIME_OUT=5 | ||||
| SSRF_DEFAULT_READ_TIME_OUT=5 | ||||
| SSRF_DEFAULT_WRITE_TIME_OUT=5 | ||||
|  | ||||
| # ------------------------------ | ||||
| # docker env var for specifying vector db type at startup | ||||
| # (based on the vector db type, the corresponding docker | ||||
| # compose profile will be used) | ||||
| # if you want to use unstructured, add ',unstructured' to the end | ||||
| # ------------------------------ | ||||
| COMPOSE_PROFILES=${VECTOR_STORE:-weaviate} | ||||
|  | ||||
| # ------------------------------ | ||||
| # Docker Compose Service Expose Host Port Configurations | ||||
| # ------------------------------ | ||||
| EXPOSE_NGINX_PORT=10505 | ||||
| EXPOSE_NGINX_SSL_PORT=443 | ||||
|  | ||||
| # ---------------------------------------------------------------------------- | ||||
| # ModelProvider & Tool Position Configuration | ||||
| # Used to specify the model providers and tools that can be used in the app. | ||||
| # ---------------------------------------------------------------------------- | ||||
|  | ||||
| # Pin, include, and exclude tools | ||||
| # Use comma-separated values with no spaces between items. | ||||
| # Example: POSITION_TOOL_PINS=bing,google | ||||
| POSITION_TOOL_PINS= | ||||
| POSITION_TOOL_INCLUDES= | ||||
| POSITION_TOOL_EXCLUDES= | ||||
|  | ||||
| # Pin, include, and exclude model providers | ||||
| # Use comma-separated values with no spaces between items. | ||||
| # Example: POSITION_PROVIDER_PINS=openai,openllm | ||||
| POSITION_PROVIDER_PINS= | ||||
| POSITION_PROVIDER_INCLUDES= | ||||
| POSITION_PROVIDER_EXCLUDES= | ||||
|  | ||||
| # CSP https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP | ||||
| CSP_WHITELIST= | ||||
|  | ||||
| # Enable or disable create tidb service job | ||||
| CREATE_TIDB_SERVICE_JOB_ENABLED=false | ||||
|  | ||||
| # Maximum number of submitted thread count in a ThreadPool for parallel node execution | ||||
| MAX_SUBMIT_COUNT=100 | ||||
|  | ||||
| # The maximum number of top-k value for RAG. | ||||
| TOP_K_MAX_VALUE=10 | ||||
|  | ||||
| # ------------------------------ | ||||
| # Plugin Daemon Configuration | ||||
| # ------------------------------ | ||||
|  | ||||
| DB_PLUGIN_DATABASE=dify_plugin | ||||
| EXPOSE_PLUGIN_DAEMON_PORT=5002 | ||||
| PLUGIN_DAEMON_PORT=5002 | ||||
| PLUGIN_DAEMON_KEY=lYkiYYT6owG+71oLerGzA7GXCgOT++6ovaezWAjpCjf+Sjc3ZtU+qUEi | ||||
| PLUGIN_DAEMON_URL=http://plugin_daemon:5002 | ||||
| PLUGIN_MAX_PACKAGE_SIZE=52428800 | ||||
| PLUGIN_PPROF_ENABLED=false | ||||
|  | ||||
| PLUGIN_DEBUGGING_HOST=0.0.0.0 | ||||
| PLUGIN_DEBUGGING_PORT=5003 | ||||
| EXPOSE_PLUGIN_DEBUGGING_HOST=localhost | ||||
| EXPOSE_PLUGIN_DEBUGGING_PORT=5003 | ||||
|  | ||||
| # If this key is changed, DIFY_INNER_API_KEY in plugin_daemon service must also be updated or agent node will fail. | ||||
| PLUGIN_DIFY_INNER_API_KEY=QaHbTe77CtuXmsfyhR7+vRjI/+XbV1AaFy691iy+kGDv2Jvy0/eAh8Y1 | ||||
| PLUGIN_DIFY_INNER_API_URL=http://api:5001 | ||||
|  | ||||
| ENDPOINT_URL_TEMPLATE=http://localhost/e/{hook_id} | ||||
|  | ||||
| MARKETPLACE_ENABLED=true | ||||
| MARKETPLACE_API_URL=https://marketplace.dify.ai | ||||
|  | ||||
| FORCE_VERIFYING_SIGNATURE=true | ||||
|  | ||||
| PLUGIN_PYTHON_ENV_INIT_TIMEOUT=120 | ||||
| PLUGIN_MAX_EXECUTION_TIMEOUT=600 | ||||
| # PIP_MIRROR_URL=https://pypi.tuna.tsinghua.edu.cn/simple | ||||
| PIP_MIRROR_URL= | ||||
							
								
								
									
										1083
									
								
								dify/compose.yaml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1083
									
								
								dify/compose.yaml
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user