自动n8n更新器(Docker版)

工作原理

该工作流可自动检查并更新运行在Docker上的自托管n8n实例。它会定时运行,检查新版本,用AI总结更新日志,并通过Telegram获取您的批准后再执行更新。

  1. 定时检查: 工作流每小时运行一次,由Schedule节点触发。
  2. 版本发现:
    • 首先确认运行在Docker环境中。
    • 使用SSH连接到主机,检查运行的n8n容器以获取当前版本标签(如latestnext)。
    • 查询Docker Hub API,将运行版本的镜像digest(镜像版本唯一ID)与最新版本进行比较。
  3. 更新检测: 如果digest不匹配,说明有新镜像可用,需要更新。
  4. AI驱动的更新日志:
    • 从GitHub API获取新版本的官方更新日志。
    • AI模型(LLM)将这些技术日志总结为简洁易懂的关键功能和修复概述。
  5. 手动批准: 向Telegram聊天发送AI生成的摘要和两个按钮:”✅ 更新”和”❌ 忽略”。工作流暂停并等待您的响应。
  6. 执行更新: 如果批准更新,工作流会通过SSH在服务器上运行docker compose命令,拉取新镜像并重启容器。

设置步骤

设置时间:约5-10分钟

  1. SSH凭证:
    • Credentials中创建新的SSH凭证,包含运行n8n Docker实例的服务器的用户名、主机和密码/私钥。
    • Get n8n Current VersionUpdate Docker节点中选择该凭证。
  2. Telegram机器人凭证:
    • 创建Telegram机器人并获取其API令牌。
    • Credentials中创建新的Telegram凭证,填入机器人令牌。
    • Send a text message节点中选择该凭证。
  3. AI模型凭证:
    • 确保已设置AI提供商(如Google AI、OpenAI等)的凭证。
    • Google Gemini Chat Model节点中选择您的凭证(或替换为您喜欢的LLM节点)。
  4. 配置路径和命令:
    • 打开Docker Path节点,设置docker_path为服务器上docker-compose.yml文件的绝对路径(如/root/n8n)。
    • 如果使用workers,调整worker_command包含正确的--scale参数。否则留空。
  5. 设置聊天ID:
    • 打开Approve UpdateTelegram节点,在Chat ID字段中输入您的Telegram聊天ID,确保批准消息发送给您。
  6. 激活工作流。 它将每小时检查一次更新。

启用全自动更新(无需手动批准): 删除从Get n8n ReleasesApproved ?的节点,并将Needs Update ?节点直接连接到Update Docker节点。

(0)
上一篇 3天前
下一篇 3天前

更多相关内容

从零掌握 AI + MCP/Responses API 的自动化设计,节省90%的时间和成本,成为AI自动化专家。学会 n8n、Coze、Dify 接入全球领先 AI应用生态,打造属于你的 AI智能工作流。