GITBOOK-1: modify env

pull/13/head
John Wang 2023-09-05 07:55:35 +00:00 committed by gitbook-bot
parent 600bcda3ad
commit 1599ae1e56
No known key found for this signature in database
GPG Key ID: 07D2180C7B12D0FF
1 changed files with 125 additions and 126 deletions

View File

@ -4,7 +4,7 @@
#### EDITION
部署版本。
部署的版本类型:
* `SELF_HOSTED`:自部署版本
* 仅支持单团队/租户模式
@ -15,29 +15,29 @@
* 无法使用邮箱和密码方式登录,仅支持 GitHub、Google 授权登录。
* 有 200 次试用托管 OpenAI API-Key 功能
#### CONSOLE_API_URL
#### CONSOLE\_API\_URL
> 此变量单独作为控制台 API URL 配置,原 CONSOLE_URL 依旧可用。
> 此变量单独作为控制台 API URL 配置,原 CONSOLE\_URL 依旧可用。
控制台 API 后端 URL用于拼接授权回调传空则为同域。范例`https://api.console.dify.ai`。
#### CONSOLE_WEB_URL
#### CONSOLE\_WEB\_URL
控制台 web **前端** URL用于拼接部分前端地址以及 CORS 配置使用,传空则为同域。范例:`https://console.dify.ai`
> 自 0.3.8 版本起,`CONSOLE_URL` 拆分为 `CONSOLE_API_URL``CONSOLE_WEB_URL``CONSOLE_URL` 依旧可用。
#### SERVICE_API_URL
#### SERVICE\_API\_URL
Service API Url用于**给前端**展示 Service API Base Url传空则为同域。范例`https://api.dify.ai`
> 自 0.3.8 版本起,`API_URL` 更名为 `SERVICE_API_URL``API_URL` 依旧可用。
#### APP_API_URL
#### APP\_API\_URL
WebApp API 后端 Url用于声明**前端** API 后端地址,传空则为同域。范例:`https://app.dify.ai`
#### APP_WEB_URL
#### APP\_WEB\_URL
WebApp Url用于**给前端**展示 WebAPP API Base Url传空则为同域。范例`https://api.app.dify.ai`
@ -51,10 +51,10 @@ WebApp Url用于**给前端**展示 WebAPP API Base Url传空则为同域
启动模式,仅使用 docker 启动时可用,源码启动无效。
* api
* api
启动 API Server。
* worker
* worker
启动异步队列 worker。
@ -62,65 +62,64 @@ WebApp Url用于**给前端**展示 WebAPP API Base Url传空则为同域
调试模式,默认 false建议本地开发打开该配置可防止 monkey patch 导致的一些问题出现。
#### FLASK_DEBUG
#### FLASK\_DEBUG
Flask 调试模式,开启可在接口输出 trace 信息,方便调试。
#### SECRET_KEY
#### SECRET\_KEY
一个用于安全地签名会话 cookie 并在数据库上加密敏感信息的密钥。初次启动需要设置改变量。可以使用`openssl rand -base64 42`生成一个强密钥。
#### DEPLOY_ENV
#### DEPLOY\_ENV
部署环境。
* PRODUCTION默认
* PRODUCTION默认
生产环境。
* TESTING
* TESTING
测试环境,前端页面会有明显颜色标识,该环境为测试环境。
#### LOG_LEVEL
#### LOG\_LEVEL
日志输出等级,默认为 INFO。生产建议设置为 ERROR。
#### MIGRATION_ENABLED
#### MIGRATION\_ENABLED
当设置为 true 时,会在容器启动时自动执行数据库迁移,仅使用 docker 启动时可用,源码启动无效。源码启动需要在 api 目录手动执行 `flask db upgrade`
#### CHECK_UPDATE_URL
#### CHECK\_UPDATE\_URL
是否开启检查版本策略,若设置为 false则不调用 `https://updates.dify.ai` 进行版本检查。由于目前国内无法直接访问基于 CloudFlare Worker 的版本接口,设置该变量为空,可以屏蔽该接口调用。
#### OPENAI_API_BASE
#### OPENAI\_API\_BASE
用于更改 OpenAI 基础地址,默认为 https://api.openai.com/v1。
在国内无法访问 OpenAI替换国内镜像地址或者本地模型提供 OpenAI 兼容 API 时,可替换使用。
用于更改 OpenAI 基础地址,默认为 https://api.openai.com/v1。 在国内无法访问 OpenAI替换国内镜像地址或者本地模型提供 OpenAI 兼容 API 时,可替换使用。
#### 容器启动相关配置
仅在使用 docker 镜像或者 docker-compose 启动时有效。
* DIFY_BIND_ADDRESS
* DIFY\_BIND\_ADDRESS
API 服务绑定地址默认0.0.0.0,即所有地址均可访问。
* DIFY_PORT
* DIFY\_PORT
API 服务绑定端口号,默认 5001。
* SERVER_WORKER_AMOUNT
* SERVER\_WORKER\_AMOUNT
API 服务 Server worker 数量,即 gevent worker 数量,公式:`cpu 核心数 x 2 + 1`可参考https://docs.gunicorn.org/en/stable/design.html#how-many-workers
* SERVER_WORKER_CLASS
* SERVER\_WORKER\_CLASS
默认为 gevent若为 windows可以切换为 sync 或 solo。
* GUNICORN_TIMEOUT
* GUNICORN\_TIMEOUT
请求处理超时时间,默认 200建议 360以支持更长的 sse 连接时间。
* CELERY_WORKER_CLASS
* CELERY\_WORKER\_CLASS
`SERVER_WORKER_CLASS` 类似,默认 gevent若为 windows可以切换为 sync 或 solo。
* CELERY_WORKER_AMOUNT
* CELERY\_WORKER\_AMOUNT
Celery worker 数量,默认为 1按需设置。
@ -128,56 +127,56 @@ Flask 调试模式,开启可在接口输出 trace 信息,方便调试。
数据库使用 PostgreSQL请使用 public schema。
* DB_USERNAME用户名
* DB_PASSWORD密码
* DB_HOST数据库 host
* DB_PORT数据库端口号默认 5432
* DB_DATABASE数据库 database
* SQLALCHEMY_POOL_SIZE数据库连接池大小默认 30 个连接数,可适当增加。
* SQLALCHEMY_POOL_RECYCLE数据库连接池回收时间默认 3600 秒。
* SQLALCHEMY_ECHO是否打印 SQL默认 false。
* DB\_USERNAME用户名
* DB\_PASSWORD密码
* DB\_HOST数据库 host
* DB\_PORT数据库端口号默认 5432
* DB\_DATABASE数据库 database
* SQLALCHEMY\_POOL\_SIZE数据库连接池大小默认 30 个连接数,可适当增加。
* SQLALCHEMY\_POOL\_RECYCLE数据库连接池回收时间默认 3600 秒。
* SQLALCHEMY\_ECHO是否打印 SQL默认 false。
#### Redis 配置
该 Redis 配置用于缓存以及对话时的 pub/sub。
* REDIS_HOSTRedis host
* REDIS_PORTRedis port默认 6379
* REDIS_DBRedis Database默认为 0请和 Session Redis、Celery Broker 分开用不同 Database。
* REDIS_USERNAMERedis 用户名,默认为空
* REDIS_PASSWORDRedis 密码,默认为空,强烈建议设置密码。
* REDIS_USE_SSL是否使用 SSL 协议进行连接,默认 false
* REDIS\_HOSTRedis host
* REDIS\_PORTRedis port默认 6379
* REDIS\_DBRedis Database默认为 0请和 Session Redis、Celery Broker 分开用不同 Database。
* REDIS\_USERNAMERedis 用户名,默认为空
* REDIS\_PASSWORDRedis 密码,默认为空,强烈建议设置密码。
* REDIS\_USE\_SSL是否使用 SSL 协议进行连接,默认 false
#### Session 配置
仅 API 服务使用,用于验证接口身份。
* SESSION_TYPE
Session 组件类型
* redis默认
选择此项,则需要设置下方 SESSION_REDIS_ 开头的环境变量。
* sqlalchemy
选择此项,则使用当前数据库连接,并使用 sessions 表进行读写 session 记录。
* SESSION_REDIS_HOSTRedis host
* SESSION_REDIS_PORTRedis port默认 6379
* SESSION_REDIS_DBRedis Database默认为 0请和 Redis、Celery Broker 分开用不同 Database。
* SESSION_REDIS_USERNAMERedis 用户名,默认为空
* SESSION_REDIS_PASSWORDRedis 密码,默认为空,强烈建议设置密码。
* SESSION_REDIS_USE_SSL是否使用 SSL 协议进行连接,默认 false
* SESSION\_TYPE Session 组件类型
* redis默认
选择此项,则需要设置下方 SESSION\_REDIS\_ 开头的环境变量。
* sqlalchemy
选择此项,则使用当前数据库连接,并使用 sessions 表进行读写 session 记录。
* SESSION\_REDIS\_HOSTRedis host
* SESSION\_REDIS\_PORTRedis port默认 6379
* SESSION\_REDIS\_DBRedis Database默认为 0请和 Redis、Celery Broker 分开用不同 Database。
* SESSION\_REDIS\_USERNAMERedis 用户名,默认为空
* SESSION\_REDIS\_PASSWORDRedis 密码,默认为空,强烈建议设置密码。
* SESSION\_REDIS\_USE\_SSL是否使用 SSL 协议进行连接,默认 false
#### Celery 配置
* CELERY_BROKER_URL
* CELERY\_BROKER\_URL
格式如下
<pre><code><strong>redis://&#x3C;redis_username>:&#x3C;redis_password>@&#x3C;redis_host>:&#x3C;redis_port>/&#x3C;redis_database>
</strong><strong>
</strong></code></pre>
范例:`redis://:difyai123456@redis:6379/1`
* BROKER_USE_SSL
* BROKER\_USE\_SSL
若设置为 true则使用 SSL 协议进行连接,默认 false
@ -185,10 +184,10 @@ Flask 调试模式,开启可在接口输出 trace 信息,方便调试。
用于设置前端跨域访问策略。
* CONSOLE_CORS_ALLOW_ORIGINS
* CONSOLE\_CORS\_ALLOW\_ORIGINS
控制台 CORS 跨域策略,默认为 `*`,即所有域名均可访问。
* WEB_API_CORS_ALLOW_ORIGINS
* WEB\_API\_CORS\_ALLOW\_ORIGINS
WebAPP CORS 跨域策略,默认为 `*`,即所有域名均可访问。
@ -198,13 +197,13 @@ Flask 调试模式,开启可在接口输出 trace 信息,方便调试。
用于设置身份校验的 Session Cookie 浏览器策略。
* COOKIE_HTTPONLY
* COOKIE\_HTTPONLY
Cookie HttpOnly 配置,默认为 true。
* COOKIE_SAMESITE
* COOKIE\_SAMESITE
Cookie SameSite 配置,默认为 Lax。
* COOKIE_SECURE
* COOKIE\_SECURE
Cookie Secure 配置,默认为 false。详细配置可参考[跨域/身份相关指南](https://avytux375gg.feishu.cn/wiki/HyX3wdF1YiejX3k3U2CcTcmQnjg)
@ -212,90 +211,90 @@ Flask 调试模式,开启可在接口输出 trace 信息,方便调试。
用于存储数据集上传的文件、团队/租户的加密密钥等等文件。
* STORAGE_TYPE
* STORAGE\_TYPE
存储设施类型
* local默认
* local默认
本地文件存储,若选择此项则需要设置下方 `STORAGE_LOCAL_PATH` 配置。
* s3
* s3
S3 对象存储,若选择此项则需要设置下方 S3_ 开头的配置。
* STORAGE_LOCAL_PATH
S3 对象存储,若选择此项则需要设置下方 S3\_ 开头的配置。
* STORAGE\_LOCAL\_PATH
默认为 storage即存储在当前目录的 storage 目录下。若使用 docker 或 docker-compose 进行部署,请务必将两个容器中 `/app/api/storage` 目录挂载到同一个本机目录,否则可能会出现文件找不到的报错。
* S3_ENDPOINTS3 端点地址
* S3_BUCKET_NAMES3 桶名称
* S3_ACCESS_KEYS3 Access Key
* S3_SECRET_KEYS3 Secret Key
* S3_REGIONS3 地域信息us-east-1
* S3\_ENDPOINTS3 端点地址
* S3\_BUCKET\_NAMES3 桶名称
* S3\_ACCESS\_KEYS3 Access Key
* S3\_SECRET\_KEYS3 Secret Key
* S3\_REGIONS3 地域信息us-east-1
#### 向量数据库配置
* VECTOR_STORE
* VECTOR\_STORE
可使用的枚举类型包括:`weaviate`、`qdrant`、`pinecone`、`milvus`(后两个暂未开放)其中 `milvus``zilliz` 为同一套配置,均为 `milvus`
* WEAVIATE_ENDPOINT
* WEAVIATE\_ENDPOINT
Weaviate 端点地址,如:`http://weaviate:8080`。
* WEAVIATE_API_KEY
* WEAVIATE\_API\_KEY
连接 Weaviate 使用的 api-key 凭据。
* WEAVIATE_BATCH_SIZE
* WEAVIATE\_BATCH\_SIZE
Weaviate 批量创建索引 Object 的数量,默认 100。可参考此文档https://weaviate.io/developers/weaviate/manage-data/import#how-to-set-batch-parameters
* WEAVIATE_GRPC_ENABLED
* WEAVIATE\_GRPC\_ENABLED
是否使用 gRPC 方式与 Weaviate 进行交互,开启后性能会大大增加,本地可能无法使用,默认为 true。
* QDRANT_URL
* QDRANT\_URL
Qdrant 端点地址,如:`https://your-qdrant-cluster-url.qdrant.tech/`
* QDRANT_API_KEY
* QDRANT\_API\_KEY
连接 Qdrant 使用的 api-key 凭据。
* PINECONE_API_KEY
* PINECONE\_API\_KEY
连接 Pinecone 使用的 api-key 凭据。
* PINECONE_ENVIRONMENT
* PINECONE\_ENVIRONMENT
Pinecone 所在的额环境,如:`us-east4-gcp`
* MILVUS_HOST
* MILVUS\_HOST
Milvus host 配置。
* MILVUS_PORT
* MILVUS\_PORT
Milvus post 配置。
* MILVUS_USER
* MILVUS\_USER
Milvus user 配置,默认为空。
* MILVUS_PASSWORD
* MILVUS\_PASSWORD
Milvus 密码配置,默认为空。
* MILVUS_USE_SECURE
* MILVUS\_USE\_SECURE
Milvus 是否使用 SSL 连接,默认 false。
#### 数据集配置
* UPLOAD_FILE_SIZE_LIMIT
* UPLOAD\_FILE\_SIZE\_LIMIT
上传文件大小限制,默认 15M。
* UPLOAD_FILE_BATCH_LIMIT
上传文件大小限制,默认 15M。
* UPLOAD\_FILE\_BATCH\_LIMIT
可批量上传文件数,默认 5。
可批量上传文件数,默认 5。
#### Sentry 配置
用于应用监控和错误日志跟踪。
* SENTRY_DSN
* SENTRY\_DSN
Sentry DSN 地址,默认为空,为空时则所有监控信息均不上报 Sentry。
* SENTRY_TRACES_SAMPLE_RATE
* SENTRY\_TRACES\_SAMPLE\_RATE
Sentry events 的上报比例,若为 0.01,则为 1%。
* SENTRY_PROFILES_SAMPLE_RATE
* SENTRY\_PROFILES\_SAMPLE\_RATE
Sentry profiles 的上报比例,若为 0.01,则为 1%。
@ -303,18 +302,18 @@ Flask 调试模式,开启可在接口输出 trace 信息,方便调试。
Notion 集成配置,变量可通过申请 Notion integration 获取:[https://www.notion.so/my-integrations](https://www.notion.so/my-integrations)
* NOTION_CLIENT_ID
* NOTION_CLIENT_SECRET
* NOTION\_CLIENT\_ID
* NOTION\_CLIENT\_SECRET
#### 邮件相关配置
* MAIL_TYPE
* MAIL\_TYPE
邮件提供商类型,当前仅支持:`resend`[https://resend.com](https://resend.com)),留空则不发送邮件。
* MAIL_DEFAULT_SEND_FROM
* MAIL\_DEFAULT\_SEND\_FROM
发件人邮箱名称,如:`no-reply <no-reply@dify.ai>`,非必填。
* RESEND_API_KEY
* RESEND\_API\_KEY
Resend 邮件提供商 API-Key可前往 [API-Key](https://resend.com/api-keys) 获取。
@ -322,43 +321,43 @@ Notion 集成配置,变量可通过申请 Notion integration 获取:[https:/
仅云端版可用。
* GITHUB_CLIENT_IDGitHub 授权登录 Client ID
* GITHUB_CLIENT_SECRETGitHub 授权登录 Client Secret
* GOOGLE_CLIENT_IDGoogle 授权登录 Client ID
* GOOGLE_CLIENT_SECRETGoogle 授权登录 Client Secret
* GITHUB\_CLIENT\_IDGitHub 授权登录 Client ID
* GITHUB\_CLIENT\_SECRETGitHub 授权登录 Client Secret
* GOOGLE\_CLIENT\_IDGoogle 授权登录 Client ID
* GOOGLE\_CLIENT\_SECRETGoogle 授权登录 Client Secret
#### 平台托管模型相关配置
仅云端版可用,用于模型托管配置。
* HOSTED_OPENAI_ENABLED启用 OpenAI 托管服务,默认 False
* HOSTED_OPENAI_API_KEYOpenAI 托管服务的 API 密钥
* HOSTED_OPENAI_API_BASEOpenAI 托管服务的 API 基础地址,默认为空,即使用:`https://api.openai.com/v1`
* HOSTED_OPENAI_API_ORGANIZATIONOpenAI 托管服务的组织 ID默认为空
* HOSTED_OPENAI_QUOTA_LIMITOpenAI 托管服务的默认试用配额(单位:调用次数),默认 200 次调用
* HOSTED_OPENAI_PAID_ENABLED启用 OpenAI 托管付费服务,默认 False
* HOSTED_OPENAI_PAID_STRIPE_PRICE_IDOpenAI 托管付费服务的 Stripe 价格 ID
* HOSTED_OPENAI_PAID_INCREASE_QUOTAOpenAI 托管付费服务的支付后,增加配额数量
* HOSTED_AZURE_OPENAI_ENABLED启用 Azure OpenAI 托管服务,默认 False
* HOSTED_AZURE_OPENAI_API_KEYAzure OpenAI 托管服务的 API 密钥
* HOSTED_AZURE_OPENAI_API_BASEAzure OpenAI 托管服务的 API 基础地址
* HOSTED_AZURE_OPENAI_QUOTA_LIMITAzure OpenAI 托管服务的默认试用配额(单位:调用次数)
* HOSTED_ANTHROPIC_ENABLED启用 Anthropic 托管服务,默认 False
* HOSTED_ANTHROPIC_API_BASEAnthropic 托管服务的 API 基础地址,默认为空
* HOSTED_ANTHROPIC_API_KEYAnthropic 托管服务的 API 密钥
* HOSTED_ANTHROPIC_QUOTA_LIMITAnthropic 托管服务的默认试用配额单位tokens默认 600,000 tokens
* HOSTED_ANTHROPIC_PAID_ENABLED启用 Anthropic 托管付费服务,默认 False
* HOSTED_ANTHROPIC_PAID_STRIPE_PRICE_IDAnthropic 托管付费服务的 Stripe 价格 ID
* HOSTED_ANTHROPIC_PAID_INCREASE_QUOTAAnthropic 托管付费服务的配额增加数量
* HOSTED_ANTHROPIC_PAID_MIN_QUANTITYAnthropic 托管付费服务的最小购买份数
* HOSTED_ANTHROPIC_PAID_MAX_QUANTITYAnthropic 托管付费服务的最大购买份数
* STRIPE_API_KEYStripe 的 API 密钥
* STRIPE_WEBHOOK_SECRETStripe 的 Webhook 密钥
* HOSTED\_OPENAI\_ENABLED启用 OpenAI 托管服务,默认 False
* HOSTED\_OPENAI\_API\_KEYOpenAI 托管服务的 API 密钥
* HOSTED\_OPENAI\_API\_BASEOpenAI 托管服务的 API 基础地址,默认为空,即使用:`https://api.openai.com/v1`
* HOSTED\_OPENAI\_API\_ORGANIZATIONOpenAI 托管服务的组织 ID默认为空
* HOSTED\_OPENAI\_QUOTA\_LIMITOpenAI 托管服务的默认试用配额(单位:调用次数),默认 200 次调用
* HOSTED\_OPENAI\_PAID\_ENABLED启用 OpenAI 托管付费服务,默认 False
* HOSTED\_OPENAI\_PAID\_STRIPE\_PRICE\_IDOpenAI 托管付费服务的 Stripe 价格 ID
* HOSTED\_OPENAI\_PAID\_INCREASE\_QUOTAOpenAI 托管付费服务的支付后,增加配额数量
* HOSTED\_AZURE\_OPENAI\_ENABLED启用 Azure OpenAI 托管服务,默认 False
* HOSTED\_AZURE\_OPENAI\_API\_KEYAzure OpenAI 托管服务的 API 密钥
* HOSTED\_AZURE\_OPENAI\_API\_BASEAzure OpenAI 托管服务的 API 基础地址
* HOSTED\_AZURE\_OPENAI\_QUOTA\_LIMITAzure OpenAI 托管服务的默认试用配额(单位:调用次数)
* HOSTED\_ANTHROPIC\_ENABLED启用 Anthropic 托管服务,默认 False
* HOSTED\_ANTHROPIC\_API\_BASEAnthropic 托管服务的 API 基础地址,默认为空
* HOSTED\_ANTHROPIC\_API\_KEYAnthropic 托管服务的 API 密钥
* HOSTED\_ANTHROPIC\_QUOTA\_LIMITAnthropic 托管服务的默认试用配额单位tokens默认 600,000 tokens
* HOSTED\_ANTHROPIC\_PAID\_ENABLED启用 Anthropic 托管付费服务,默认 False
* HOSTED\_ANTHROPIC\_PAID\_STRIPE\_PRICE\_IDAnthropic 托管付费服务的 Stripe 价格 ID
* HOSTED\_ANTHROPIC\_PAID\_INCREASE\_QUOTAAnthropic 托管付费服务的配额增加数量
* HOSTED\_ANTHROPIC\_PAID\_MIN\_QUANTITYAnthropic 托管付费服务的最小购买份数
* HOSTED\_ANTHROPIC\_PAID\_MAX\_QUANTITYAnthropic 托管付费服务的最大购买份数
* STRIPE\_API\_KEYStripe 的 API 密钥
* STRIPE\_WEBHOOK\_SECRETStripe 的 Webhook 密钥
***
### Web 前端
#### SENTRY_DSN
#### SENTRY\_DSN
Sentry DSN 地址,默认为空,为空时则所有监控信息均不上报 Sentry。