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

配置docker-compose.yml文件

cd ~
mkdir n8n_python # 创建一个空文件夹
cd n8n_python
vim docker-compose.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 # 复用原来已有的数据卷,工作流和设置不会丢

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

docker compose up -d

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

进入n8n验证

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

for item in _items:
  item["json"]["my_new_field"] = 1
return _items

在这里插入图片描述
正常运行即可!

更多推荐