任务运行器环境变量(Task runner environment variables)
基于文件的配置
与主 n8n 镜像不同,你不能在任务执行器镜像中使用基于文件的机密配置。这意味着添加了 _FILE 后缀的变量将无法被识别。
任务运行器 执行由 代码节点 定义的代码。
n8n 实例环境变量(n8n instance environment variables)
| 变量 |
类型 |
默认值 |
描述 |
N8N_RUNNERS_ENABLED |
布尔值 |
false |
任务运行器是否启用。 |
N8N_RUNNERS_MODE |
枚举字符串: internal, external |
internal |
如何启动和运行任务执行器。internal 意味着 n8n 将作为子进程启动任务执行器。external 意味着外部协调器将启动任务执行器。 |
N8N_RUNNERS_AUTH_TOKEN |
字符串 |
随机字符串 |
由任务运行器用于向 n8n 进行身份验证的共享密钥。在使用 external 模式时必需。 |
N8N_RUNNERS_BROKER_PORT |
数字 |
5679 |
任务代理用于任务执行器连接监听的端口。 |
N8N_RUNNERS_BROKER_LISTEN_ADDRESS |
字符串 |
127.0.0.1 |
任务代理监听的地址。 |
N8N_RUNNERS_MAX_PAYLOAD |
数字 |
1 073 741 824 |
任务代理与任务执行器之间通信的最大有效载荷字节数。 |
N8N_RUNNERS_MAX_OLD_SPACE_SIZE |
字符串 |
|
用于任务运行器的 --max-old-space-size 选项(以 MB 为单位)。默认情况下,Node.js 会根据可用内存设置此值。 |
N8N_RUNNERS_MAX_CONCURRENCY |
数字 |
5 |
任务运行器一次可以执行的并发任务数量。 |
N8N_RUNNERS_TASK_TIMEOUT |
数字 |
300 |
在运行器停止任务并重新启动之前,任务可以运行的最长时间(以秒为单位)。此值必须大于 0。 |
N8N_RUNNERS_HEARTBEAT_INTERVAL |
数字 |
30 |
运行器必须向代理发送心跳的间隔(以秒为单位)。如果运行器未能及时发送心跳,任务将停止并且运行器会重新启动。该值必须大于0。 |
N8N_RUNNERS_INSECURE_MODE |
布尔值 |
false |
是否禁用任务运行器中的所有安全措施,以兼容依赖不安全 JS 功能的模块。不建议在生产环境中使用。 |
N8N_RUNNERS_TASK_REQUEST_TIMEOUT |
数字 |
60 |
任务请求可以等待执行者可用的最长时间(以秒为单位),超过此时间将超时。这可以防止在没有可用执行者时工作流无限期挂起。必须大于 0。 |
任务运行器启动器环境变量(Task runner launcher environment variables)
| 变量 |
类型 |
默认值 |
描述 |
N8N_RUNNERS_LAUNCHER_LOG_LEVEL |
枚举字符串: debug, info, warn, error |
info |
显示哪些日志消息。 |
N8N_RUNNERS_AUTH_TOKEN |
字符串 |
- |
用于认证到 n8n 的共享密钥。 |
N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT |
数字 |
15 |
在关闭空闲运行器之前等待的秒数。 |
N8N_RUNNERS_TASK_BROKER_URI |
字符串 |
http://127.0.0.1:5679 |
任务代理服务器 (n8n 实例) 的 URI。 |
N8N_RUNNERS_LAUNCHER_HEALTH_CHECK_PORT |
数字 |
5680 |
启动器健康检查服务器的端口。 |
N8N_RUNNERS_MAX_PAYLOAD |
数字 |
1 073 741 824 |
任务代理与任务运行器之间通信的最大有效负载字节数。 |
N8N_RUNNERS_MAX_CONCURRENCY |
数字 |
5 |
任务运行器一次可以执行的并发任务数。 |
任务运行器环境变量(所有语言)(Task runner environment variables (all languages))
| 变量 |
类型 |
默认值 |
描述 |
N8N_RUNNERS_GRANT_TOKEN |
字符串 |
随机字符串 |
运行器用于与任务代理进行身份验证的令牌。此令牌由启动程序自动提供。 |
N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT |
数字 |
15 |
在关闭空闲运行器之前等待的秒数。 |
N8N_RUNNERS_TASK_BROKER_URI |
字符串 |
http://127.0.0.1:5679 |
任务代理服务器(n8n 实例)的 URI。 |
N8N_RUNNERS_LAUNCHER_HEALTH_CHECK_PORT |
数字 |
5680 |
启动程序健康检查服务器的端口。 |
N8N_RUNNERS_MAX_PAYLOAD |
数字 |
1 073 741 824 |
任务代理与任务运行器之间通信的最大负载大小(字节)。 |
N8N_RUNNERS_MAX_CONCURRENCY |
数字 |
5 |
任务运行器一次可以执行的并发任务数量。 |
任务运行器环境变量(JavaScript)(Task runner environment variables (JavaScript))
| 变量 |
类型 |
默认值 |
描述 |
NODE_FUNCTION_ALLOW_BUILTIN |
字符串 |
- |
允许用户在代码节点中导入特定的内置模块。使用 * 允许全部导入。n8n 默认禁用模块导入。在外部模式下,在 运行器配置文件 (/etc/n8n-task-runners.json) 中将其设置为 env-override,而不是作为容器环境变量。 |
NODE_FUNCTION_ALLOW_EXTERNAL |
字符串 |
- |
允许用户在代码节点中导入特定的外部模块(来自 n8n/node_modules)。n8n 默认禁用模块导入。在外部模式下,在 runners 配置文件 (/etc/n8n-task-runners.json) 中将其设置为一个 env-override,而不是作为容器环境变量。 |
N8N_RUNNERS_ALLOW_PROTOTYPE_MUTATION |
布尔值 |
false |
是否允许对外部库进行原型变更。设置为 true 可以允许依赖运行时原型变更的模块(例如 puppeteer),但代价是降低安全性。 |
GENERIC_TIMEZONE |
* |
America/New_York |
与 n8n 实例配置的相同默认时区 相同。 |
NODE_OPTIONS |
字符串 |
- |
Node.js 的 选项。 |
N8N_RUNNERS_MAX_OLD_SPACE_SIZE |
字符串 |
|
用于任务运行器的 --max-old-space-size 选项(以 MB 为单位)。默认情况下,Node.js 会根据可用内存设置此值。 |
任务运行器环境变量(Python)(Task runner environment variables (Python))
| 变量 |
类型 |
默认值 |
描述 |
N8N_RUNNERS_STDLIB_ALLOW |
字符串 |
- |
可以在 Code 节点中使用的 Python 标准库模块,包括它们的子模块。使用 * 来允许所有标准库模块。n8n 默认禁用所有 Python 标准库导入。在外部模式下,请在 运行器配置文件 (/etc/n8n-task-runners.json) 中将其设置为 env-override,而不是作为容器环境变量。 |
N8N_RUNNERS_EXTERNAL_ALLOW |
字符串 |
- |
允许在 Code 节点中使用的第三方 Python 模块,包括它们的子模块。使用 * 可允许使用所有外部模块。n8n 默认禁用所有第三方 Python 模块。第三方 Python 模块必须包含在 n8nio/runners 镜像中。外部模式下,在 runners 配置文件 (/etc/n8n-task-runners.json) 中将其设置为 env-override,而不是作为容器环境变量。 |
N8N_RUNNERS_BUILTINS_DENY |
字符串 |
eval,exec,compile,open,input,breakpoint,getattr,object,type,vars,setattr,delattr,hasattr,dir,memoryview,__build_class__,globals,locals |
你在代码节点中不能使用的 Python 内置函数。设置为空字符串以允许所有内置函数。 |
N8N_BLOCK_RUNNER_ENV_ACCESS |
布尔值 |
true |
是否阻止从 Python 代码任务中访问运行器的环境。设置为 false 可允许所有 Python 代码节点用户通过 os.environ 访问运行器的环境。出于安全原因,默认情况下环境变量访问被阻止。 |