工作原理
该工作流可自动检查并更新运行在Docker上的自托管n8n实例。它会定时运行,检查新版本,用AI总结更新日志,并通过Telegram获取您的批准后再执行更新。
- 定时检查: 工作流每小时运行一次,由
Schedule
节点触发。 - 版本发现:
- 首先确认运行在Docker环境中。
- 使用SSH连接到主机,检查运行的n8n容器以获取当前版本标签(如
latest
或next
)。 - 查询Docker Hub API,将运行版本的镜像
digest
(镜像版本唯一ID)与最新版本进行比较。
- 更新检测: 如果digest不匹配,说明有新镜像可用,需要更新。
- AI驱动的更新日志:
- 从GitHub API获取新版本的官方更新日志。
- AI模型(LLM)将这些技术日志总结为简洁易懂的关键功能和修复概述。
- 手动批准: 向Telegram聊天发送AI生成的摘要和两个按钮:”✅ 更新”和”❌ 忽略”。工作流暂停并等待您的响应。
- 执行更新: 如果批准更新,工作流会通过SSH在服务器上运行
docker compose
命令,拉取新镜像并重启容器。
设置步骤
设置时间:约5-10分钟
- SSH凭证:
- 在Credentials中创建新的SSH凭证,包含运行n8n Docker实例的服务器的用户名、主机和密码/私钥。
- 在
Get n8n Current Version
和Update Docker
节点中选择该凭证。
- Telegram机器人凭证:
- 创建Telegram机器人并获取其API令牌。
- 在Credentials中创建新的Telegram凭证,填入机器人令牌。
- 在
Send a text message
节点中选择该凭证。
- AI模型凭证:
- 确保已设置AI提供商(如Google AI、OpenAI等)的凭证。
- 在
Google Gemini Chat Model
节点中选择您的凭证(或替换为您喜欢的LLM节点)。
- 配置路径和命令:
- 打开
Docker Path
节点,设置docker_path
为服务器上docker-compose.yml
文件的绝对路径(如/root/n8n
)。 - 如果使用workers,调整
worker_command
包含正确的--scale
参数。否则留空。
- 打开
- 设置聊天ID:
- 打开
Approve Update
Telegram节点,在Chat ID
字段中输入您的Telegram聊天ID,确保批准消息发送给您。
- 打开
- 激活工作流。 它将每小时检查一次更新。
启用全自动更新(无需手动批准): 删除从Get n8n Releases
到Approved ?
的节点,并将Needs Update ?
节点直接连接到Update Docker
节点。