欢迎光临
我们一直在努力

Docker部署n8n与Python节点指南

n8n 部署安装(Docker)与 Python 节点支持

n8n 是一个开源的自动化工作流工具,类似于 IFTTT 或 Zapier,但更灵活且支持自定义代码。它允许用户通过节点连接各种服务,并支持使用 Python 等语言编写自定义逻辑。以下我将分步解释如何使用 Docker 部署安装 n8n,并介绍如何在 n8n 中使用 Python (Native) 节点。

1. n8n 的 Docker 部署安装

Docker 是一种容器化技术,能简化 n8n 的安装和运行。在开始前,请确保您的系统已安装 Docker(可从 Docker 官网下载安装)。以下是详细的部署步骤:

步骤 1:拉取 n8n Docker 镜像 打开终端或命令行,运行以下命令拉取官方 n8n 镜像:

docker pull n8nio/n8n

步骤 2:运行 n8n 容器 运行容器时,可以设置环境变量来配置 n8n,例如端口映射和持久化存储。以下是一个基本命令:

docker run -d –name n8n -p 5678:5678 -v ~/n8n-data:/home/node/.n8n n8nio/n8n

  • -d:后台运行容器。
  • –name n8n:指定容器名称为 "n8n"。
  • -p 5678:5678:将容器端口 5678 映射到主机端口 5678(n8n 默认使用 5678)。
  • -v ~/n8n-data:/home/node/.n8n:挂载本地目录到容器,用于持久化存储工作流数据(替换 ~/n8n-data 为您的本地路径)。

步骤 3:访问 n8n Web 界面 容器运行后,在浏览器中访问 http://localhost:5678 即可打开 n8n 的 Web 界面。首次访问时,系统会提示创建管理员账户。

注意事项:

  • 安全设置:建议设置环境变量来增强安全,例如添加密码:

    docker run -d –name n8n -p 5678:5678 -v ~/n8n-data:/home/node/.n8n -e N8N_BASIC_AUTH_USER=admin -e N8N_BASIC_AUTH_PASSWORD=yourpassword n8nio/n8n

  • 数据库支持:n8n 默认使用 SQLite,但可以配置 PostgreSQL 或 MySQL。参考 n8n 官方文档进行高级设置。
  • 更新与维护:定期拉取新镜像并重启容器以获取更新:

    docker pull n8nio/n8n
    docker stop n8n
    docker rm n8n
    docker run … # 重新运行命令

2. 支持 Code in Python (Native) 节点

n8n 的 "Code" 节点允许您直接在工作流中编写和执行 Python 代码,实现自定义逻辑。Python 支持是 native 的,无需额外插件。以下是使用步骤:

步骤 1:添加 Code 节点到工作流

  • 在 n8n Web 界面中,创建一个新工作流或打开现有工作流。
  • 从节点库中搜索并添加 "Code" 节点(通常位于 "Core" 类别下)。
  • 连接 Code 节点到其他节点(如触发器或数据处理节点)。
  • 步骤 2:配置 Python 代码 在 Code 节点的配置面板中:

    • 选择语言:在 "Language" 下拉菜单中,选择 "Python"。
    • 编写代码:在代码编辑框中输入 Python 脚本。n8n 提供了上下文变量(如 items 输入数据),您可以直接使用。
    • 示例代码:以下是一个简单示例,接收输入数据并返回处理后的结果:

      # 输入数据存储在 `items` 列表中(每个元素是一个字典)
      for item in items:
      # 示例:将输入数字平方
      num = item['json']['number']
      item['json']['square'] = num ** 2

      # 返回修改后的 items
      return items

      • 此代码假设输入数据包含一个 "number" 字段,并添加 "square" 字段。

    步骤 3:测试与运行

    • 使用 n8n 的测试功能运行工作流,检查 Python 代码的输出。
    • 输出数据将传递给下一个节点。

    注意事项:

    • 依赖管理:Python 节点使用内置的 Python 环境(基于 Node.js 的 Python 执行器)。如果需要第三方库,n8n 支持通过 pip 安装,但需在 Docker 容器中配置。例如,在运行容器时挂载自定义脚本:

      docker run -d … -v ~/custom-scripts:/custom-scripts n8nio/n8n

      然后在 Python 代码中使用 import 语句加载库(确保库在容器中可用)。

    • 安全与性能:避免在代码中执行危险操作(如系统命令),并优化代码以避免性能瓶颈。n8n 的 Python 节点适用于轻量级任务;复杂逻辑建议使用外部服务。
    • 调试:使用 n8n 的日志功能或添加 print 语句输出调试信息(日志可在 Web 界面或容器日志中查看)。

    总结

    通过 Docker 部署 n8n,您可以快速搭建一个自动化平台,并使用 Python (Native) 节点实现自定义代码逻辑。部署时注意持久化存储和安全设置;使用 Python 节点时,利用 n8n 的上下文变量简化数据处理。如果需要更高级的功能,参考 n8n 官方文档获取详细指南。如果您遇到问题,可以分享具体细节,我将协助解决!

    赞(0)
    未经允许不得转载:171主机测评 » Docker部署n8n与Python节点指南
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址