Environment Variables


说明:学习如何为Flowise配置环境变量

环境变量

Flowise支持使用不同的环境变量来配置您的实例。您可以在packages/server文件夹中的.env文件中指定以下变量。请参阅.env.example文件。

变量
描述
类型
默认值

PORT

Flowise运行的HTTP端口

Number

3000

FLOWISE_FILE_SIZE_LIMIT

上传时的最大文件大小

String

50mb

NUMBER_OF_PROXIES

速率限制代理

Number

CORS_ORIGINS

所有跨域HTTP调用允许的来源

String

IFRAME_ORIGINS

iframe src嵌入允许的来源

String

SHOW_COMMUNITY_NODES

显示社区创建的节点

Boolean: truefalse

DISABLED_NODES

以逗号分隔的禁用节点名称列表

String

对于数据库

变量
描述
类型
默认值

DATABASE_TYPE

用于存储flowise数据的数据库类型

枚举字符串:sqlitemysqlpostgres

sqlite

DATABASE_PATH

数据库保存位置(当DATABASE_TYPE为sqlite时)

字符串

your-home-dir/.flowise

DATABASE_HOST

主机URL或IP地址(当DATABASE_TYPE不为sqlite时)

字符串

DATABASE_PORT

数据库端口(当DATABASE_TYPE不为sqlite时)

字符串

DATABASE_USER

数据库用户名(当DATABASE_TYPE不为sqlite时)

字符串

DATABASE_PASSWORD

数据库密码(当DATABASE_TYPE不为sqlite时)

字符串

DATABASE_NAME

数据库名称(当DATABASE_TYPE不为sqlite时)

字符串

DATABASE_SSL

数据库SSL是必需的(当DATABASE_TYPE不是sqlite时)

布尔值:truefalse

false

存储

Flowise默认将以下文件存储在本地路径文件夹下。

用户可以指定STORAGE_TYPE来使用AWS S3、Google Cloud Storage或本地路径

变量
描述
类型
默认值

STORAGE_TYPE

上传文件的存储类型。默认值为local

枚举字符串:s3gcslocal

local

BLOB_STORAGE_PATH

STORAGE_TYPElocal时,上传文件存储的本地文件夹路径

字符串

your-home-dir/.flowise/storage

S3_STORAGE_BUCKET_NAME

STORAGE_TYPEs3时,用于存放上传文件的存储桶名称

字符串

S3_STORAGE_ACCESS_KEY_ID

AWS 访问密钥

字符串

S3_STORAGE_SECRET_ACCESS_KEY

AWS 存储访问密钥

字符串

S3_STORAGE_REGION

S3存储桶所在区域

字符串

S3_ENDPOINT_URL

自定义S3端点(可选)

字符串

S3_FORCE_PATH_STYLE

S3力路径样式(可选)

布尔值

false

GOOGLE_CLOUD_STORAGE_CREDENTIAL

Google Cloud 服务账户密钥

字符串

GOOGLE_CLOUD_STORAGE_PROJ_ID

Google Cloud 项目 ID

字符串

GOOGLE_CLOUD_STORAGE_BUCKET_NAME

Google Cloud Storage存储桶名称

字符串

GOOGLE_CLOUD_UNIFORM_BUCKET_ACCESS

访问类型

布尔值

true

用于调试和日志记录

变量
描述
类型

DEBUG

打印组件日志

布尔值

LOG_PATH

日志文件存储位置

字符串

Flowise/packages/server/logs

LOG_LEVEL

日志的不同级别

枚举字符串:errorinfoverbosedebug

info

DEBUG:如果设置为true,将在终端/控制台打印日志:

LOG_LEVEL: 记录日志的不同级别。可以是errorinfoverbosedebug。默认设置为info,只有logger.info会被保存到日志文件中。如果你想要获取完整的详细信息,请设置为debug

server-requests.log.jsonl - 记录发送到Flowise的每个请求
server.log - 记录Flowise上的常规操作
server-error.log - 记录带有堆栈跟踪的错误

S3日志流式处理

STORAGE_TYPE环境变量设置为s3时,日志将自动流式传输并存储到S3。每小时将创建一个新的日志文件,从而更容易进行调试。

GCS日志流

STORAGE_TYPE环境变量设置为gcs时,日志将自动流式传输到Google Cloud Logging

凭证

Flowise使用加密密钥将您的第三方API密钥作为加密凭证进行存储。

默认情况下,启动应用程序时会生成一个随机加密密钥,并存储在某个文件路径下。每次都会检索此加密密钥来解密聊天流程中使用的凭据。例如,您的OpenAI API密钥、Pinecone API密钥等。

您可以配置为使用AWS Secret Manager来存储加密密钥。

变量
描述
类型
默认值

SECRETKEY_STORAGE_TYPE

如何存储加密密钥

枚举字符串:localaws

local

SECRETKEY_PATH

保存加密密钥的本地文件路径

字符串

Flowise/packages/server

FLOWISE_SECRETKEY_OVERWRITE

要使用的加密密钥,以替代现有密钥

字符串

SECRETKEY_AWS_ACCESS_KEY

字符串

SECRETKEY_AWS_SECRET_KEY

字符串

SECRETKEY_AWS_REGION

字符串

由于某些原因,有时加密密钥可能会被重新生成,或者存储路径发生了变化,这会导致出现类似“无法解密凭据。”的错误

为了避免这种情况,您可以将自己的加密密钥设置为FLOWISE_SECRETKEY_OVERWRITE,以便每次都能使用相同的加密密钥。对格式没有限制,您可以将其设置为任何您想要的文本,或者与您的FLOWISE_PASSWORD相同。

提示框(样式:信息) 从用户界面(UI)返回的凭证API密钥与您设置的原始API密钥长度不同。这是一个伪前缀字符串,用于防止网络欺骗,因此我们不会将API密钥返回给UI。但是,在与聊天流程交互时,将检索并使用正确的API密钥。 {% 结束提示 %}

对于模型

在某些情况下,您可能希望在现有的聊天模型和大型语言模型(LLM)节点上使用自定义模型,或者仅允许访问特定模型。

默认情况下,Flowise会从这里获取模型列表。但用户可以创建自己的models.json文件并指定文件路径:

变量
描述
类型
默认值

MODEL_LIST_CONFIG_JSON

从您的models.json配置文件加载模型列表的链接

String

对于内置和外部依赖

Flowise中存在某些节点/功能,允许用户运行JavaScript代码。出于安全考虑,默认情况下它只允许使用特定的依赖项。可以通过设置以下环境变量来解除对内置和外部模块的限制:

变量
描述

TOOL_FUNCTION_BUILTIN_DEP

要使用的Node.js内置模块

String

TOOL_FUNCTION_EXTERNAL_DEP

要使用的外部模块

String

ALLOW_BUILTIN_DEP

允许使用项目依赖,如cheeriotypeorm

Boolean

.env
# 允许使用所有内置模块
内置依赖工具函数=*

# 仅允许使用fs
内置工具功能依赖=文件系统

# 仅允许使用crypto和fs
内置工具函数依赖=加密、文件系统

# 允许使用外部npm模块。
TOOL_FUNCTION_EXTERNAL_DEP=cheerio,typeorm

允许内置依赖=true

使用内置依赖项

{% 提示 样式="警告" %}

一些内置依赖库,如Puppeteer,可能会引入潜在的安全漏洞。建议在使用前仔细分析和评估这些风险。

NodeVM 执行错误:VMError:无法找到模块

如果你正在使用默认情况下不允许使用的库,你可以选择:

  1. 允许所有项目的库/依赖项ALLOW_BUILTIN_DEP=true 2.(推荐)明确允许特定的库/依赖项:TOOL_FUNCTION_EXTERNAL_DEP=cheerio,typeorm

安全配置

变量
描述
选项
默认值

HTTP_DENY_LIST

阻止对MCP服务器中指定URL或域名的HTTP请求

以逗号分隔的URL/域名

(空)

CUSTOM_MCP_SECURITY_CHECK

启用自定义MCP配置的全面安全验证

true | false

true

CUSTOM_MCP_PROTOCOL

设置自定义MCP通信的默认协议

stdio | sse

stdio

CUSTOM_MCP_SECURITY_CHECK=true

默认情况下,此功能是启用的。启用后,将应用以下安全验证:

  • 命令白名单:仅允许执行安全命令(nodenpxpythonpython3docker

  • 参数验证:阻止危险的文件路径、目录遍历和可执行文件

  • 注入防护:防止Shell元字符和命令链

  • 环境保护:阻止修改关键环境变量(PATH、LD_LIBRARY_PATH)

CUSTOM_MCP_PROTOCOL

  • stdio:直接进程通信(默认方式,需要执行命令)

  • sse:基于HTTP的服务器发送事件(建议用于生产环境,更安全)

推荐的生产设置

# 启用安全验证(默认)
CUSTOM_MCP_SECURITY_CHECK=true

# 使用SSE协议以提升安全性
CUSTOM_MCP_PROTOCOL=sse

# 屏蔽危险域名(示例)
HTTP_DENY_LIST=localhost,127.0.0.1,internal.company.com

警告:禁用CUSTOM_MCP_SECURITY_CHECK将允许任意命令执行,并在生产环境中带来重大安全风险。

设置环境变量的示例

NPM(Node Package Manager)

在使用npx运行Flowise时,你可以设置所有这些变量。例如:

npx flowise start --端口=3000 --调试=true

Docker

docker run -d -p 5678:5678 flowise \
 -e DATABASE_TYPE=postgresdb \
 -e DATABASE_PORT=<POSTGRES_PORT> \
 -e DATABASE_HOST=<POSTGRES_HOST> \
 -e DATABASE_NAME=<POSTGRES_DATABASE_NAME> \
 -e DATABASE_USER=<POSTGRES_USER> \
 -e DATABASE_PASSWORD=<POSTGRES_PASSWORD> \

Docker Compose

你可以在docker文件夹中的.env文件中设置所有这些变量。请参考.env.example文件。

Last updated