FlowiseAI - 配置与部署完全指南
学习日期:2026-05-07
文档来源:https://docs.flowiseai.com/configuration
一、环境变量体系
Flowise 支持大量环境变量配置,通过 .env 文件设在 packages/server 目录下。
1. 基础配置
| 变量 | 说明 | 默认值 |
|---|---|---|
PORT | HTTP 端口 | 3000 |
FLOWISE_FILE_SIZE_LIMIT | 上传文件大小限制 | 50mb |
NUMBER_OF_PROXIES | 限速代理数 | — |
CORS_ORIGINS | 允许的跨域来源 | — |
IFRAME_ORIGINS | 允许的 iframe 来源 | — |
SHOW_COMMUNITY_NODES | 显示社区节点 | — |
DISABLED_NODES | 禁用节点列表(逗号分隔) | — |
2. 数据库配置
支持 SQLite / MySQL / PostgreSQL / MariaDB 四种数据库:
SQLite(默认)
DATABASE_TYPE=sqlite
DATABASE_PATH=/root/.flowiseMySQL
DATABASE_TYPE=mysql
DATABASE_PORT=3306
DATABASE_HOST=localhost
DATABASE_NAME=flowise
DATABASE_USER=user
DATABASE_PASSWORD=123PostgreSQL
DATABASE_TYPE=postgres
DATABASE_PORT=5432
DATABASE_HOST=localhost
DATABASE_NAME=flowise
DATABASE_USER=user
DATABASE_PASSWORD=123
PGSSLMODE=requireMariaDB
DATABASE_TYPE="mariadb"
DATABASE_PORT="3306"
DATABASE_HOST="localhost"
DATABASE_NAME="flowise"
DATABASE_USER="flowise"
DATABASE_PASSWORD="mypassword"3. 文件存储配置
默认本地存储,支持 AWS S3 / Google Cloud Storage / Local:
| 变量 | 说明 | 默认值 |
|---|---|---|
STORAGE_TYPE | 存储类型 | local |
BLOB_STORAGE_PATH | 本地路径 | ~/.flowise/storage |
S3_STORAGE_BUCKET_NAME | S3 Bucket | — |
S3_STORAGE_ACCESS_KEY_ID | AWS Access Key | — |
S3_STORAGE_SECRET_ACCESS_KEY | AWS Secret Key | — |
S3_STORAGE_REGION | AWS Region | — |
GOOGLE_CLOUD_STORAGE_CREDENTIAL | GCP 凭证 | — |
GOOGLE_CLOUD_STORAGE_BUCKET_NAME | GCS Bucket | — |
4. 日志与调试
| 变量 | 说明 | 可选值 |
|---|---|---|
DEBUG | 打印组件日志 | true/false |
LOG_PATH | 日志文件路径 | — |
LOG_LEVEL | 日志级别 | error/info/verbose/debug |
日志文件类型:
server-requests.log.jsonl— 每次请求的详细记录server.log— 一般操作日志server-error.log— 错误+堆栈跟踪
支持日志流式写入 S3 或 GCS(按小时分片)。
5. 凭证加密
Flowise 使用加密密钥存储第三方 API 密钥(OpenAI、Pinecone 等)。
| 变量 | 说明 | 默认值 |
|---|---|---|
SECRETKEY_STORAGE_TYPE | 密钥存储方式 | local |
SECRETKEY_PATH | 本地密钥路径 | packages/server |
FLOWISE_SECRETKEY_OVERWRITE | 自定义加密密钥 | — |
SECRETKEY_AWS_ACCESS_KEY | AWS 密钥管理 | — |
SECRETKEY_AWS_REGION | AWS 区域 | — |
6. MCP(Model Context Protocol)配置
| 变量 | 说明 | 默认值 |
|---|---|---|
MCP_SERVER_URL | MCP 服务器 URL | — |
MCP_SECRET_KEY | MCP 认证密钥 | — |
CUSTOM_MCP_SECURITY_CHECK | 启用安全验证 | true |
CUSTOM_MCP_PROTOCOL | 协议类型 | stdio/sse |
安全验证(默认启用)包含:
- 命令白名单(仅允许
node/npx/python/python3/docker) - 参数验证(阻止危险路径、目录遍历)
- 注入防护(阻止 shell 元字符和命令链)
- 环境变量保护(阻止修改 PATH 等关键变量)
生产环境推荐设置:
CUSTOM_MCP_SECURITY_CHECK=true
CUSTOM_MCP_PROTOCOL=sse
HTTP_DENY_LIST=localhost,127.0.0.1
HTTP_SECURITY_CHECK=true
PATH_TRAVERSAL_SAFETY=true7. 安全相关
| 变量 | 说明 |
|---|---|
HTTP_DENY_LIST | 额外阻止的域名(逗号分隔) |
HTTP_SECURITY_CHECK | 启用内置危险域名拦截(默认 true) |
PATH_TRAVERSAL_SAFETY | 防止路径遍历攻击(默认 true) |
二、认证与授权
1. 应用级认证(App Level)
方式一:Email & Password(v3.0.1+,推荐)
基于 Passport.js + JWT 的现代认证系统:
JWT 双令牌机制:
- Access Token(短期,默认 60 分钟)
- Refresh Token(长期,默认 90 天)
- 存储在 HTTP-only 安全 Cookie 中
JWT 环境变量:
| 变量 | 说明 | 默认值 |
|---|---|---|
JWT_AUTH_TOKEN_SECRET | Access Token 签名密钥 | — |
JWT_REFRESH_TOKEN_SECRET | Refresh Token 签名密钥 | — |
JWT_TOKEN_EXPIRY_IN_MINUTES | Access Token 过期时间 | 60 分钟 |
JWT_REFRESH_TOKEN_EXPIRY_IN_MINUTES | Refresh Token 过期时间 | 90 天 |
JWT_AUDIENCE | Token audience claim | AUDIENCE |
JWT_ISSUER | Token issuer claim | ISSUER |
EXPIRE_AUTH_TOKENS_ON_RESTART | 重启后使所有 Token 失效 | false |
PASSWORD_SALT_HASH_ROUNDS | bcrypt 盐轮数(越高越安全) | 10 |
SMTP 邮件配置:
| 变量 | 说明 |
|---|---|
SMTP_HOST | SMTP 服务器地址 |
SMTP_PORT | 端口(TLS=587, SSL=465) |
SMTP_USER | 用户名/邮箱 |
SMTP_PASSWORD | 密码或 App 专用密码 |
SMTP_SECURE | 启用 SSL/TLS |
SENDER_EMAIL | 发件人地址 |
方式二:Username & Password(已废弃)
npx flowise start --FLOWISE_USERNAME=user --FLOWISE_PASSWORD=12342. Chatflow 级授权
为特定 Chatflow 分配 API Key 进行保护:
- 在 Dashboard → API Keys 创建密钥
- 在 Chatflow 设置中绑定该 API Key
- 调用时携带 Header:
"Authorization": "Bearer <your-api-key>"3. SSO 单点登录(企业版)
支持 Microsoft Entra ID / Google / Auth0 三种 OIDC 提供商:
通用回调地址格式:
http[s]://[your-flowise-instance.com]/api/v1/{provider}/callback| 提供商 | 配置需要 |
|---|---|
| Microsoft | Tenant ID + Client ID + Client Secret |
| Client ID + Client Secret | |
| Auth0 | Domain + Client ID + Client Secret |
用户必须先被邀请才能使用 SSO 登录。
三、速率限制
当 Chatflow 公开访问时,可配置限速:
| 参数 | 说明 |
|---|---|
| Message Limit per Duration | 周期内允许的消息数 |
| Duration in Seconds | 时间周期(秒) |
| Limit Message | 超限返回消息 |
示例: 60 秒内最多 20 条消息,超限返回 “Quota Exceeded”
云部署注意: 如果部署在 AWS/GCP/Azure 等代理/负载均衡器后,需要设置 NUMBER_OF_PROXIES 环境变量。
验证 IP 地址:访问 {{host_url}}/api/v1/ip,对比自己的 IP,不匹配则逐步增加 NUMBER_OF_PROXIES 直到匹配。
四、部署方式
1. NPM
npm install -g flowise
npx flowise start
npx flowise start --PORT=3000 --DEBUG=true2. Docker
cd docker
# 创建 .env 文件
PORT=3000
DATABASE_TYPE=postgres
# ... 其他配置
# 启动
docker compose up -d
docker compose stop3. Docker 快速启动
docker run -d -p 5678:5678 flowise \
-e DATABASE_TYPE=postgres \
-e DATABASE_PORT=5432 \
-e DATABASE_HOST=<POSTGRES_HOST> \
-e DATABASE_NAME=flowise \
-e DATABASE_USER=flowise \
-e DATABASE_PASSWORD=<PASSWORD>4. 平台部署
| 平台 | 说明 |
|---|---|
| HuggingFace Spaces | 免费托管 |
| Railway | 便捷部署 |
| Render | 云托管 |
| Sealos | 容器化 |
| AWS / Azure / GCP | 各大云平台 |
| Kubernetes | 容器编排 |
五、备份策略
SQLite
# Linux
mv DATABASE_PATH/database.sqlite DATABASE_PATH/BACKUP_FILE_NAME.sqlite
cp DATABASE_PATH/BACKUP_FILE_NAME.sqlite DATABASE_PATH/database.sqlitePostgreSQL
pg_dump -U USERNAME -h HOST -p PORT -d DATABASE_NAME -f BACKUP_FILE.sqlMySQL / MariaDB
mysqldump -u USERNAME -p DATABASE_NAME > BACKUP_FILE.sql六、快速参考表
场景 → 配置项
| 场景 | 需要的配置 |
|---|---|
| 简单部署 | NPM 一键启动 |
| 多用户平台 | PostgreSQL + JWT Auth + SSO |
| 高可用部署 | Docker + PostgreSQL + Redis + S3 |
| 敏感数据 | 自定义加密密钥 + HTTPS |
| 公开 API | 速率限制 + API Key |
| 嵌入网站 | CORS 配置(CORS_ORIGINS=*) |
环境变量速查
# 基础
PORT=3000
CORS_ORIGINS=*
IFRAME_ORIGINS=*
# 数据库
DATABASE_TYPE=postgres
DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_NAME=flowise
DATABASE_USER=user
DATABASE_PASSWORD=pass
# 存储
STORAGE_TYPE=s3
S3_STORAGE_BUCKET_NAME=my-bucket
S3_STORAGE_ACCESS_KEY_ID=xxx
S3_STORAGE_SECRET_ACCESS_KEY=xxx
# 认证
JWT_AUTH_TOKEN_SECRET=your-secret
FLOWISE_SECRETKEY_OVERWRITE=your-encryption-key
# MCP
CUSTOM_MCP_SECURITY_CHECK=true
CUSTOM_MCP_PROTOCOL=sse