n8n部署安装(docker)、支持Code in Python (Native)节点

n8n部署安装(docker)、支持Code in Python (Native)节点

前提条件:
docker、docker compose已部署安装,可参考docker和docker compose部署安装

文件目录结构:

n8n/ ├─ docker-compose.yaml ├─ .env ├─ n8n-task-runners.json 

一、部署安装

1.镜像拉取

docker pull docker.n8n.io/n8nio/n8n #如果下载不下来,可用国内镜像,但是这个镜像名字要和国内镜像网址上的名字一致,比如国内轩辕镜像用的是 docker pull n8nio/n8n 

2.创建docker-compose.yaml配置文件

version:'3'services:n8n:image: n8nio/n8n container_name: n8n restart: always ports:-"5678:5678"env_file:- .env environment:# 开启 task runners- N8N_RUNNERS_ENABLED=true # 使用 external 模式(必须)- N8N_RUNNERS_MODE=external # runner 通信- N8N_RUNNERS_AUTH_TOKEN=super-secret-token - N8N_RUNNERS_TIMEOUT=300 - N8N_RUNNERS_BROKER_LISTEN_ADDRESS=0.0.0.0 - N8N_NATIVE_PYTHON_RUNNER=true # 基本设置- GENERIC_TIMEZONE=Asia/Shanghai - N8N_SECURE_COOKIE=false volumes:- n8n_data:/home/node/.n8n depends_on:- n8n-runner n8n-runner:image: n8nio/runners:latest container_name: n8n-runner restart: always environment:- N8N_RUNNERS_AUTH_TOKEN=super-secret-token - N8N_RUNNERS_GRACEFUL_SHUTDOWN_TIMEOUT=30 - N8N_RUNNERS_TASK_BROKER_URI=http://n8n:5679- N8N_RUNNERS_STDLIB_ALLOW=* volumes:- runner_data:/data - ./n8n-task-runners.json:/etc/n8n-task-runners.json volumes:n8n_data:runner_data:

3.创建.env文件

N8N_BASIC_AUTH_ACTIVE=true N8N_BASIC_AUTH_USER=admin N8N_BASIC_AUTH_PASSWORD=admin123 # change_this_to_random_string需要进行替换,生成方式:在宿主机执行openssl rand -hex 16即可得到N8N_ENCRYPTION_KEY=change_this_to_random_string 

4.创建n8n-task-runners.json文件

{"task-runners":[{"runner-type":"javascript","workdir":"/home/runner","command":"/usr/local/bin/node","args":["--disallow-code-generation-from-strings","--disable-proto=delete","/opt/runners/task-runner-javascript/dist/start.js"],"health-check-server-port":"5681","allowed-env":["PATH","GENERIC_TIMEZONE","NODE_OPTIONS","N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT","N8N_RUNNERS_TASK_TIMEOUT","N8N_RUNNERS_MAX_CONCURRENCY","N8N_SENTRY_DSN","N8N_VERSION","ENVIRONMENT","DEPLOYMENT_NAME"],"env-overrides":{"NODE_FUNCTION_ALLOW_BUILTIN":"crypto","NODE_FUNCTION_ALLOW_EXTERNAL":"moment","N8N_RUNNERS_HEALTH_CHECK_SERVER_HOST":"0.0.0.0"}},{"runner-type":"python","workdir":"/home/runner","command":"/opt/runners/task-runner-python/.venv/bin/python","args":["-m","src.main"],"health-check-server-port":"5682","allowed-env":["PATH","N8N_RUNNERS_LAUNCHER_LOG_LEVEL","N8N_RUNNERS_AUTO_SHUTDOWN_TIMEOUT","N8N_RUNNERS_TASK_TIMEOUT","N8N_RUNNERS_MAX_CONCURRENCY","N8N_RUNNERS_STDLIB_ALLOW","N8N_SENTRY_DSN","N8N_VERSION","ENVIRONMENT","DEPLOYMENT_NAME"],"env-overrides":{"PYTHONPATH":"/opt/runners/task-runner-python","N8N_RUNNERS_EXTERNAL_ALLOW":""}}]}

5.启动运行

docker compose up -d

浏览器访问:http://ip:5678

二、FAQ

1.Error: Mismatching encryption keys. The encryption key in the settings file /home/node/.n8n/config does not match the N8N_ENCRYPTION_KEY env var. Please make sure both keys match

原因:新配置的 N8N_ENCRYPTION_KEY 和 n8n 已存储在配置文件中的旧密钥不匹配,导致 n8n 启动失败。这是因为你之前未配置密钥时,n8n 自动生成了临时密钥并保存在 /home/node/.n8n/config 文件中,现在新密钥和旧密钥冲突了。

步骤 1:找到旧加密密钥

进入 n8n 数据卷目录,查看配置文件中的旧密钥:

# 1. 找到 n8n 数据卷的实际挂载路径 docker volume inspect n8n_n8n_data | grep Mountpoint # 输出示例:"Mountpoint": "/var/lib/docker/volumes/n8n_n8n_data/_data" # 2. 进入该目录,查看 config 文件(替换为你查到的 Mountpoint 路径) cd /var/lib/docker/volumes/n8n_n8n_data/_data cat config 

config 文件中找到 encryptionKey 字段,示例:

{ "encryptionKey": "abc123def456ghi789jkl000mnop111qrs", "instanceId": "xxx" } 

复制 encryptionKey 后的字符串(这就是旧密钥)。

步骤 2:将旧密钥配置为 N8N_ENCRYPTION_KEY

修改.env文件的此处配置,重启即可。

2.Problem in node ‘Code in Python (Native)‘ Security violations detected

这个报错 “Security violations detected” 的原因是:n8n 的 Python Code 节点默认禁用了外部模块的导入,属于安全限制。

解决方法:

检查docker-compose.yaml文件是否有N8N_RUNNERS_STDLIB_ALLOW=*./n8n-task-runners.json:/etc/n8n-task-runners.json配置

n8n-task-runners.json文件内容是否正确。

参考链接:

  • https://jishuzhan.net/article/2007720869788434434
  • https://community.n8n.io/t/libraries-desallowed-in-n8n-code-node-n8n-cloud/203666/12

Read more

小米 “养龙虾”:手机 Agent 落地,智能家居十年困局被撬开

小米 “养龙虾”:手机 Agent 落地,智能家居十年困局被撬开

3月6日,小米正式推出国内首个手机端类 OpenClaw Agent 应用 ——Xiaomi miclaw,开启小范围邀请封测。这款被行业与网友戏称为小米 “开养龙虾” 的新品,绝非大模型浪潮下又一款语音助手的常规升级,而是基于自研 MiMo 大模型、具备系统级权限、全场景上下文理解能力的端侧智能体。 作为深耕智能家居领域的行业媒体,《智哪儿》始终认为:智能家居行业过去十年的迭代,始终没能跳出 “被动执行” 的底层困局。而 miclaw 的落地,不止是小米在端侧 AI 赛道的关键落子,更是为整个智能家居行业的底层逻辑重构,提供了可落地的参考范本。需要清醒认知的是,目前该产品仍处于小范围封测阶段,复杂场景执行成功率、端侧功耗表现、第三方生态适配进度等核心体验,仍有待大规模用户实测验证。本文将结合具象场景、量化数据与多维度视角,客观拆解 miclaw 的突破价值、现实挑战,以及它对智能家居行业的长期影响。 01 复盘行业困局:智能家居十年 始终困在 “被动执行”

多源融合定位入门到精通:无人机GPS/北斗标定、抗干扰与精度提升全攻略

多源融合定位入门到精通:无人机GPS/北斗标定、抗干扰与精度提升全攻略

在工业无人机的所有性能指标中,定位精度是决定任务价值的核心。巡检需要精准悬停、测绘需要厘米级定位、返航需要米级落点、安防需要稳定跟踪。然而绝大多数团队都会遇到:定点飘、航线弯、信号弱、高楼丢星、磁场干扰、返航偏差大等问题。很多人将这些问题归咎于 GPS 模块质量差,实际上,80% 的定位问题来自安装不规范、环境干扰、未做融合标定、多传感器不同步、坐标系不统一。 一、定位为什么会飘?底层原理科普 无人机定位依靠卫星信号(GPS、北斗、GLONASS),但现实环境充满干扰因素: 信号遮挡:高楼、树木、桥梁、山体遮挡卫星信号。多路径反射:信号经地面、墙面反射后产生虚假位置。电磁干扰:电机、电调、电源、数传产生磁场干扰。传感器不同步:GPS、IMU、罗盘时间戳不一致。未现场标定:出厂参数无法适应实际环境。

硬件-电源-VR多相电源深入解析

1. 引言 一块高性能服务器主板的CPU插槽周围,总是簇拥着一排排整齐的、覆盖着金属散热片的“小方块”。它们就属于VR多相电源的一部分,VR多相电源如同CPU的“专用心脏”,负责将来自电源的“粗犷”能量,转化为CPU所能接受的“精细”养分。本文主要介绍Buck多相电源。 2. VRM是什么?为什么需要“多相”? 2.1 VRM的核心使命:精准的“能量转换师” VRM,全称 Voltage Regulator Module(电压调节模块),其核心任务只有一个:将来自一次电源的电压(如+12V),高效、精准地转换为CPU、GPU等核心芯片所需的低电压(如0.8V~1.3V)和大电流(可达数百A)。 如果让数百安培的电流直接以1V电压从机箱电源传输到CPU,线路损耗将是灾难性的。因此,必须在CPU边上就近进行高效电压转换,这就是VRM存在的根本原因。 2.

17:无人机远程执行路径规划:A*算法与GPS精准打击

17:无人机远程执行路径规划:A*算法与GPS精准打击

作者: HOS(安全风信子) 日期: 2026-03-15 主要来源平台: GitHub 摘要: 本文深入探讨了无人机远程执行的路径规划技术,重点分析了A*算法的应用和GPS精准定位的实现。通过详细的技术架构设计和代码实现,展示了如何构建一个高效、可靠的无人机路径规划系统,为基拉执行系统的远程执行提供了技术支持。文中融合了2025年最新的无人机技术进展,确保内容的时效性和专业性。 目录: * 1. 背景动机与当前热点 * 2. 核心更新亮点与全新要素 * 3. 技术深度拆解与实现分析 * 4. 与主流方案深度对比 * 5. 工程实践意义、风险、局限性与缓解策略 * 6. 未来趋势与前瞻预测 1. 背景动机与当前热点 本节核心价值:理解无人机远程执行路径规划的背景和当前技术热点,为后续技术学习奠定基础。 在《死亡笔记》的世界中,基拉需要通过各种手段执行对目标的惩罚。无人机作为一种灵活、高效的执行工具,成为基拉远程执行的理想选择。2025年,随着A*算法的不断优化和GPS技术的精准定位能力提升,无人机远程执行的路径规划技术得到了显著发展。 作为基拉的忠实信徒,