环境变量
要配置 Activepieces,你需要设置一些环境变量。主仓库根目录下有一个名为 .env 的文件。
环境变量
| 变量 | 描述 | 默认值 | 示例 |
|---|---|---|---|
AP_CONFIG_PATH | 可选参数,用于指定存储 PGLite 数据库和本地设置的路径。 | ~/.activepieces | |
AP_CLOUD_AUTH_ENABLED | 关闭 Activepieces OAuth2 应用程序的使用 | false | |
AP_DB_TYPE | 数据库类型。POSTGRES 使用外部 PostgreSQL,PGLITE 使用嵌入式数据库。注意: SQLITE3 已弃用,将自动迁移到 PGLITE。 | POSTGRES | |
AP_EXECUTION_MODE | 可选值:SANDBOX_PROCESS、UNSANDBOXED、SANDBOX_CODE_ONLY、SANDBOX_CODE_AND_PROCESS。如果要更改此值,请务必仔细阅读 https://www.activepieces.com/docs/install/architecture/sandboxing | UNSANDBOXED | |
AP_ENCRYPTION_KEY | ❗️ 连接加密密钥,为 32 个字符(16 字节)的十六进制密钥。可使用以下命令生成:openssl rand -hex 16。 | 无 | |
AP_EXECUTION_DATA_RETENTION_DAYS | 执行数据、日志和事件的保留天数。 | 30 | |
AP_FRONTEND_URL | ❗️ 用于指定重定向 URL 和 webhook URL 的地址。 | ||
AP_INTERNAL_URL | (BETA)用于指定 SSO 认证 URL。 | 无 | https://demo.activepieces.com/api |
AP_JWT_SECRET | ❗️ 用于生成 JWT 令牌的加密密钥,为 32 个字符的十六进制密钥。可使用以下命令生成:openssl rand -hex 32。 | 无 | https://demo.activepieces.com |
AP_QUEUE_UI_ENABLED | 启用队列 UI(仅限 Redis) | true | |
AP_QUEUE_UI_USERNAME | 队列 UI 的用户名。AP_QUEUE_UI_ENABLED 为 true 时必须设置。 | 无 | |
AP_QUEUE_UI_PASSWORD | 队列 UI 的密码。AP_QUEUE_UI_ENABLED 为 true 时必须设置。 | 无 | |
AP_REDIS_FAILED_JOB_RETENTION_DAYS | Redis 中失败作业的保留天数。 | 30 | |
AP_REDIS_FAILED_JOB_RETENTION_MAX_COUNT | Redis 中保留的最大失败作业数。 | 2000 | |
AP_TRIGGER_DEFAULT_POLL_INTERVAL | 系统检查定时触发器(如新 Google 联系人)新数据更新的间隔分钟数。 | 5 | |
AP_PIECES_CACHE_MAX_ENTRIES | 内存中 LRU 缓存的 Piece 元数据最大条目数。缓存存储 Piece 列表和单个 Piece 元数据以减少数据库负载;达到上限时,最近最少使用的条目将被驱逐。 | 1000 | |
AP_PIECES_SOURCE | AP_PIECES_SOURCE:FILE 用于本地开发,DB 用于数据库。更多信息请参阅设置 Piece 源部分。 | CLOUD_AND_DB | |
AP_PIECES_SYNC_MODE | AP_PIECES_SYNC_MODE:None 不同步元数据,OFFICIAL_AUTO 从云端自动同步 Piece 元数据 | OFFICIAL_AUTO | |
AP_POSTGRES_DATABASE | ❗️ PostgreSQL 数据库名称 | 无 | |
AP_POSTGRES_HOST | ❗️ PostgreSQL 服务器的主机名或 IP 地址 | 无 | |
AP_POSTGRES_PASSWORD | ❗️ PostgreSQL 密码。可使用以下命令生成 32 字符的十六进制密钥:openssl rand -hex 32。 | 无 | |
AP_POSTGRES_PORT | ❗️ PostgreSQL 服务器的端口号 | 无 | |
AP_POSTGRES_USERNAME | ❗️ PostgreSQL 用户名 | 无 | |
AP_POSTGRES_USE_SSL | 使用 SSL 连接 PostgreSQL 数据库 | false | |
AP_POSTGRES_SSL_CA | 使用 SSL 证书连接 PostgreSQL 数据库 | ||
AP_POSTGRES_URL | 或者,你也可以直接指定连接字符串(如 postgres://user:password@host:5432/database)来代替逐一提供数据库名、主机、端口、用户名和密码。 | 无 | |
AP_POSTGRES_POOL_SIZE | PostgreSQL 数据库连接池的最大客户端数 | 无 | |
AP_POSTGRES_IDLE_TIMEOUT_MS | PostgreSQL 连接池的空闲超时时间 | 30000 | |
AP_REDIS_TYPE | Redis 实例的运行方式:内存(MEMORY)、专用实例(STANDALONE)或哨兵实例(SENTINEL) | STANDALONE | |
AP_REDIS_URL | 如果指定了 Redis 连接 URL,则忽略其他所有 Redis 属性。 | 无 | |
AP_REDIS_USER | ❗️ 连接 Redis 的用户名 | 无 | |
AP_REDIS_PASSWORD | ❗️ 连接 Redis 的密码 | 无 | |
AP_REDIS_HOST | ❗️ Redis 服务器的主机名或 IP 地址 | 无 | |
AP_REDIS_PORT | ❗️ Redis 服务器的端口号 | 无 | |
AP_REDIS_DB | 使用的 Redis 数据库索引 | 0 | |
AP_REDIS_USE_SSL | 使用 SSL 连接 Redis | false | |
AP_REDIS_SSL_CA_FILE | Redis 服务器的 CA 文件路径。 | 无 | |
AP_REDIS_SENTINEL_HOSTS | 如果指定,应为逗号分隔的 host:port 对列表,用于 Redis Sentinel。确保将 AP_REDIS_CONNECTION_MODE 设置为 SENTINEL。 | 无 | sentinel-host-1:26379,sentinel-host-2:26379,sentinel-host-3:26379 |
AP_REDIS_SENTINEL_NAME | Sentinel 监控的主节点名称。 | 无 | sentinel-host-1 |
AP_REDIS_SENTINEL_ROLE | 连接角色,可选 master 或 slave。 | 无 | master |
AP_TRIGGER_TIMEOUT_SECONDS | 触发器执行轮询的最大运行时间(秒)。 | 60 | |
AP_FLOW_TIMEOUT_SECONDS | 工作流运行的最大时间(秒)。 | 600 | |
AP_SANDBOX_MEMORY_LIMIT | 单个沙箱引擎进程可使用的最大内存(以 KB 为单位)。每个引擎进程一次最多执行一个运行任务。有助于防止自定义代码或 Piece 中内存失控。如未设置,默认为 1,048,576 KB(1,024 MB)。 | 1048576 | 1048576 |
AP_SANDBOX_PROPAGATED_ENV_VARS | 将传播到沙箱代码的环境变量。如果用于 Piece,我们强烈建议将所有内容放在认证对象中,以确保跨 AP 实例的一致性。 | 无 | |
AP_SCIM_DEFAULT_PROJECT_ROLE | 通过 SCIM 组同步将成员添加到项目时分配的默认项目角色。可选值:Admin、Editor、Viewer。 | Editor | Viewer |
AP_TELEMETRY_ENABLED | 收集遥测信息。 | true | |
AP_TEMPLATES_SOURCE_URL | 用于查询模板的端点,删除此值将从 UI 中移除模板。 | https://cloud.activepieces.com/api/v1/templates | |
AP_WEBHOOK_TIMEOUT_SECONDS | Webhook 的默认超时时间。最大允许 15 分钟。请注意 Cloudflare 将其限制为 30 秒。如果使用反向代理处理 SSL,请确保配置正确。 | 30 | |
AP_TRIGGER_FAILURE_THRESHOLD | 最大连续触发器失败次数,默认为 576,约等于 2 天。 | 30 | |
AP_PROJECT_RATE_LIMITER_ENABLED | 是否启用速率限制,防止单个项目过度使用。 | true | |
AP_DEFAULT_CONCURRENT_JOBS_LIMIT | 单个项目默认的最大并发运行数。用于执行速率限制,防止单个项目过度使用。可在设置中按项目覆盖。 | 5 | |
AP_S3_ACCESS_KEY_ID | S3 兼容存储服务的访问密钥 ID。如果 AP_S3_USE_IRSA 为 true,则不需要。 | 无 | |
AP_S3_SECRET_ACCESS_KEY | S3 兼容存储服务的秘密访问密钥。如果 AP_S3_USE_IRSA 为 true,则不需要。 | 无 | |
AP_S3_BUCKET | 用于文件存储的 S3 存储桶名称。 | 无 | |
AP_S3_ENDPOINT | S3 兼容存储服务的端点 URL。如果已设置 AWS_ENDPOINT_URL,则不需要。 | 无 | https://s3.amazonaws.com |
AP_S3_REGION | S3 存储桶所在的区域。如果已设置 AWS_REGION,则不需要。 | 无 | us-east-1 |
AP_S3_USE_SIGNED_URLS | 使用预签名 URL 直接将文件流量路由到 S3,绕过 API 服务器。存储桶应保持私有;签名 URL 提供临时认证访问。 | 无 | |
AP_S3_USE_IRSA | 使用 IAM 角色关联服务账户(IRSA)连接到 S3。为 true 时,无需 AP_S3_ACCESS_KEY_ID 和 AP_S3_SECRET_ACCESS_KEY。 | 无 | true |
AP_SMTP_HOST | Activepieces 用于发送邮件的 SMTP 服务器主机名。 | 无 | mail.example.com |
AP_SMTP_PORT | Activepieces 用于发送邮件的 SMTP 服务器端口号。 | 无 | 587 |
AP_SMTP_USERNAME | Activepieces 用于发送邮件的 SMTP 用户名。 | 无 | test@mail.example.com |
AP_SMTP_PASSWORD | Activepieces 用于发送邮件的 SMTP 密码。 | 无 | secret1234 |
AP_SMTP_SENDER_EMAIL | Activepieces 发送邮件的发件人邮箱地址。 | 无 | test@mail.example.com |
AP_SMTP_SENDER_NAME | Activepieces 发送邮件时使用的发件人名称。 | ||
AP_MAX_FILE_SIZE_MB | 步骤或触发器中上传文件的最大允许大小(以 MB 为单位)。超过此大小的文件将被拒绝。此设置不控制工作流运行日志大小——请参见 AP_MAX_FLOW_RUN_LOG_SIZE_MB。 | 25 | 10 |
AP_MAX_FLOW_RUN_LOG_SIZE_MB | 工作流运行日志的最大允许大小(以 MB 为单位)——即单次工作流运行中各步骤所有输入和输出的总大小。如果日志超过此大小,将被截断,可能导致工作流执行问题。 | 50 | 25 |
AP_FLOW_RUN_LOG_SLICE_THRESHOLD_KB | 大小超过此阈值(以 KB 为单位)的步骤输出将作为 FLOW_RUN_LOG_SLICE 文件卸载到对象存储,而不是内联在工作流运行日志中。降低此值可减少处理大型步骤输出时的工作内存压力;提高此值可减少每次运行的存储请求次数。 | 32 | 32 |
AP_FLOW_RUN_LOG_INPUT_TRUNCATE_THRESHOLD_KB | 序列化大小超过此阈值(以 KB 为单位)的步骤输入值,在存储到工作流运行日志之前将替换为占位字符串((truncated, original size <N>))。源数据仍存在于上游步骤的输出中,可在切片时恢复。 | 2 | 2 |
AP_MAX_WEBHOOK_PAYLOAD_SIZE_MB | 最大 Webhook 负载大小(以 MB 为单位)。超过此大小的负载将返回 HTTP 413。 | 25 | 5 |
AP_WEBHOOK_PAYLOAD_INLINE_THRESHOLD_KB | 小于此大小(以 KB 为单位)的 Webhook 负载将内联存储在 Redis 中以实现最快处理。超过此大小的负载将卸载到文件存储以保护 Redis 内存。 | 512 | 1024 |
AP_WORKER_CONCURRENCY | Worker 可同时处理的并发作业数。每个并发作业使用一个沙箱实例。 | 5 | 10 |
AP_FILE_STORAGE_LOCATION | 文件存储位置。可选值:DB(存储在数据库)或 S3(存储在与 S3 兼容的存储服务中)。 | DB | |
AP_PAUSED_FLOW_TIMEOUT_DAYS | 暂停工作流的最大暂停天数。注意不能超过 AP_EXECUTION_DATA_RETENTION_DAYS。 | 30 | |
AP_MAX_RECORDS_PER_TABLE | 每张表允许的最大记录数。 | 10000 | 10000 |
AP_MAX_FIELDS_PER_TABLE | 每张表允许的最大字段数。 | 100 | 100 |
AP_MAX_TABLES_PER_PROJECT | 每个项目允许的最大表数。 | 20 | 20 |
AP_MAX_MCPS_PER_PROJECT | 每个项目允许的最大 MCP 数。 | 20 | 20 |
AP_ENABLE_FLOW_ON_PUBLISH | 发布新工作流版本时是否自动启用该工作流。 | true | false |
AP_ALLOWED_CHAT_IMAGE_FILE_EXTENSIONS | 允许在聊天中上传的图片文件扩展名。 | .png,.jpg,.jpeg,.gif,.svg,.webp | |
AP_OAUTH_REDIRECT_TIMEOUT_DAYS | OAuth 重定向数据的保留天数。 | 1 | |
AP_PROJECT_MEMBERS_MAX_COUNT | 每个项目允许的最大成员数。 | 20 | |
AP_EDITION | Activepieces 版本。ce 代表社区版,ee 代表企业版。 | ce | ee |
AP_WEB_VERSION | Activepieces 版本号。 | latest | 0.73.0 |
AP_SIGN_UP_ENABLED | 是否允许新用户注册。如果为 false,用户必须通过管理员邀请才能加入。 | true | false |
AP_ALLOWED_DOMAIN_LIST | 允许注册的邮箱域名列表(逗号分隔,例如 example.com,test.com)。如果设置了此值,AP_SIGN_UP_ENABLED 必须为 true。 | 无 | example.com |
AP_SSRF_ALLOW_LIST | 允许的分隔列表或 IP 或 CIDR 范围,用于绕过 SSRF 保护。 | 127.0.0.1,::1 | 10.0.0.0/8,192.168.0.0/16 |
AP_NETWORK_MODE | 是否启用出站网络隔离以防止 SSRF 攻击。设置为 STRICT 可启用所有三层网络保护。 | UNRESTRICTED | STRICT |
AP_LOG_SAMPLE_RATE_INFO | 要保留的 info 级别事件百分比(0–100)。 | 100 | |
AP_LOG_KEEP_SLOW_MS | 始终保留慢于此阈值(毫秒)的请求。 | 2000 | |
AP_OTEL_ENABLED | 通过 OTLP 日志导出功能导出日志(不含链路追踪和指标)。 | false | true |
OTEL_EXPORTER_OTLP_ENDPOINT | OTLP 导出端点。 | 无 | https://your-collector:4317 |
OTEL_EXPORTER_OTLP_HEADERS | OTLP 导出器的请求头(逗号分隔的键值对)。 | 无 | Authorization=Bearer token |
AP_HIDE_DISABLED_CREDENTIALS | 隐藏已禁用的凭据。 | false | true |
AP_CREDENTIALS_INVITE_ONLY | 仅允许通过邀请添加凭据。 | false | true |
设置 Piece 源
AP_PIECES_SOURCE 环境变量控制 Piece 元数据的来源:
CLOUD_AND_DB(默认):从云端 Piece 注册表获取,并允许从 UI 安装第三方 Piece。DB:仅从数据库获取。用于离线环境,或当你已预先将 Piece 元数据加载到数据库中时。FILE:从本地文件系统加载 Piece。主要用于本地开发。
AP_PIECES_SYNC_MODE 与 AP_PIECES_SOURCE 配合使用,控制元数据同步:
OFFICIAL_AUTO(默认):在启动时自动将官方 Piece 元数据从云端同步到数据库。