
这个工作流自动化了在Docker环境中运行的n8n自托管实例的更新检查和应用过程。它按计划运行,检查新版本,使用AI总结发布说明,并通过Telegram请求您的批准后再进行更新。
## 工作流程详解
### 计划检查
工作流每小时运行一次,由Schedule节点触发。
### 版本检测
– 首先确认在Docker环境中运行
– 使用SSH连接到主机机器,检查运行的n8n容器以找到当前版本标签(如latest或next)
– 查询Docker Hub API,将运行版本的镜像摘要与最新可用版本的摘要进行比较
### 更新检测
如果摘要不匹配,意味着您的版本标签有新镜像可用,需要更新。
### AI驱动的发布说明
– 从GitHub API获取新版本的官方发布说明
– 使用AI模型(LLM)将这些技术说明总结为简洁、易读的关键功能和修复概述
### 手动审批
向Telegram聊天发送包含AI生成摘要的消息和两个按钮:”✅ 更新”和”❌ 忽略”。工作流暂停等待您的响应。
### 执行更新
如果您批准更新,工作流使用SSH在服务器上运行docker compose命令,拉取新镜像,停止旧容器并启动新容器。
## 设置步骤
**设置时间:约5-10分钟**
### SSH凭据
转到Credentials并创建新的SSH凭据,包含运行n8n Docker实例的服务器的用户名、主机和密码/私钥。在Get n8n Current Version和Update Docker节点中选择此凭据。
### Telegram Bot凭据
创建Telegram Bot并获取其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)。
如果您使用工作器,调整worker_command以包含正确的–scale参数。如果不使用,可以留空。
### 设置您的聊天ID
打开Approve Update Telegram节点,在Chat ID字段中输入您的个人Telegram聊天ID。这确保批准消息发送给您。
激活工作流。它现在将每小时检查更新。
### 启用完全自动更新(无需手动批准)
删除从Get n8n Releases到Approved ?的节点,并将Needs Update ?节点直接连接到Update Docker节点。

评论(0)