docker内的n8n配置Code节点运行python代码

官方文档请参考:https://docs.n8n.io/hosting/configuration/task-runners/#setting-up-external-mode

配置docker-compose.yml文件

bash 复制代码
cd ~
mkdir n8n_python # 创建一个空文件夹
cd n8n_python
vim docker-compose.yml # 新建一个文件(固定文件名)

在文件中写入:

yml 复制代码
version: '3.8'

services:
  # 这是n8n主程序
  n8n:
    image: docker.1panel.live/n8nio/n8n:latest  # 博主的镜像源
    container_name: n8n # 创建的n8n容器名
    restart: unless-stopped # 自动重启
    ports:
      - "5678:5678" # 端口映射
    volumes:
      - n8n_data:/home/node/.n8n  # 数据持久化到本地,以后删了容器也不影响数据
    environment:
      - N8N_SECURE_COOKIE=false # 无需 https登录
      - N8N_BLOCK_EXTERNAL_CODE_EXECUTION=false
      # 为 Python 运行器新增的配置
      - N8N_RUNNERS_ENABLED=true
      - N8N_RUNNERS_MODE=external
      - N8N_RUNNERS_BROKER_LISTEN_ADDRESS=0.0.0.0
      - N8N_RUNNERS_AUTH_TOKEN=y3Jo)8)TUu&eZ;]5+RpP}$ushSbHhvX-(BIdt  # 改成你自己的密码
      - N8N_NATIVE_PYTHON_RUNNER=true

  # 这是专门为 Python 准备的"小助手"容器
  task-runners:
    image: docker.1panel.live/n8nio/runners:latest  # 镜像源保持一致
    container_name: n8n-runners
    restart: unless-stopped
    environment:
      - N8N_RUNNERS_TASK_BROKER_URI=http://n8n:5679  # 用容器名n8n来寻址
      - N8N_RUNNERS_AUTH_TOKEN=y3Jo)8)TUu&eZ;]5+RpP}$ushSbHhvX-(BIdt  # 必须和上面的密码一模一样
    depends_on:
      - n8n

volumes:
  n8n_data:
      external: true # 复用原来已有的数据卷,工作流和设置不会丢

然后保存文件,直接运行:

bash 复制代码
docker compose up -d

等待下载完成后,容器会自动启动

进入n8n验证

Code节点使用默认的就可以:

py 复制代码
for item in _items:
  item["json"]["my_new_field"] = 1
return _items

正常运行即可!

相关推荐
进击的明明11 小时前
当AI开始“边想边干”:深入聊聊ReAct,以及如何用Python手搓一个简单Agent
python·面试·agent
全栈弄潮儿12 小时前
Python实战第8期:函数
后端·python·编程语言
卷无止境13 小时前
暗流与破局:AI时代的代码安全审查工具全景指南
后端·python
对象存储与RustFS15 小时前
网盘限速逼你开会员?用 RustFS 自己搭一个不限速的“私人网盘
服务器·后端·docker
卷无止境16 小时前
一人公司的全栈选型指南:让 AI Agent 写得快,也让生意跑得稳
后端·python
滴啦嘟啦哒18 小时前
【具身笔记】【π0.5 微调与仿真】五、在MuJoCo中实现可视化仿真
笔记·python·vla·具身
全栈练习生18 小时前
AI安全与红队测试
python·ai
费曼学习法18 小时前
把「发送成功」当「送达」?我排查 IM 长消息被静默吞掉的完整过程
python·ai编程·自动化运维
鸽鸽程序猿18 小时前
【项目】【在线判题系统】b端题目增删改
开发语言·python
程序员老赵18 小时前
Docker 部署 Filestash:轻松搭建浏览器文件管理平台
前端·docker·开源