N8N 介绍
N8N 是一个工作流自动化平台,为技术团队提供代码的灵活性和无代码的速度。n8n 具有 400+ 集成、原生 AI 功能和公平代码许可证,可让您构建强大的自动化功能,同时保持对数据和部署的完全控制。
🚢 项目地址
-
Github: https://github.com/n8n-io/n8n
-
官网: https://n8n.io/
🚀 N8N 的优势
-
AI 原生平台 :使用您自己的数据和模型基于 LangChain 构建 AI 代理工作流。
-
丰富的节点库: N8N 拥有超过 2000 个节点,涵盖了各种常见的应用和服务,如社交媒体平台(Facebook、Twitter)、云存储(Google Drive、Dropbox)、项目管理工具(Trello、Asana)等。用户可以像搭积木一样,通过拖拽这些节点轻松构建复杂的工作流。
-
可视化工作流设计:N8N 提供直观的可视化编辑器,无需编写复杂的代码,用户就能清晰地看到工作流的各个步骤和数据流向。在这个编辑器中,用户可以方便地添加、删除和连接节点,对工作流进行实时调整和优化。
-
多环境部署:N8N 可以在多种环境中部署,包括本地服务器、云服务器(如 AWS、Google Cloud)以及容器化环境(如 Docker)。这种灵活性使得用户可以根据自己的需求和基础设施选择最合适的部署方式。
-
活跃的社区 :400+ 集成和 900+ 即用型模板。
🌏️N8N 典型应用场景
- 营销自动化: 利用 N8N 可以实现营销流程的自动化。例如,当有新用户注册时,自动发送欢迎邮件;根据用户的行为和偏好,自动推送个性化的营销内容;定期从社交媒体平台收集数据,进行分析并生成报告等。
- 数据备份与同步: N8N 可以帮助用户定期将重要数据从一个存储位置备份到另一个存储位置,确保数据的安全性和可用性。同时,还可以实现不同数据源之间的数据同步,保证数据的一致性。
- 项目管理自动化: 在项目管理中,N8N 可以自动处理任务分配、进度跟踪和提醒等工作。当任务状态发生变化时,自动通知相关人员;根据项目进度自动生成报表,为项目决策提供支持。
🛠️ 部署N8N社区版本
👻 先决条件/要求
- 最低 512MB RAM(推荐 1GB+)
- 具备docker 或者 docker-compose 环境
🐳 方法一:使用Docker 命令部署
docker volume create n8n_data
docker run -itd --name n8n -p 5678:5678 -e N8N_SECURE_COOKIE=false -v n8n_data:/home/node/.n8n docker.cnb.cool/srebro/pidin/n8n:latest
🐳 方法二:使用Docker Compose部署 (推荐)
version: '3'
services:
n8n:
#image: docker.n8n.io/n8nio/n8n
image: docker.cnb.cool/srebro/pidin/n8n:latest #CNB镜像加速地址
ports:
- "5678:5678"
restart: always
container_name: n8n
environment:
- N8N_SECURE_COOKIE=false
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data: {}
- 浏览器访问n8n 地址:http://ip:5678/
🧭 使用Nginx反向代理
#N8N
server {
listen 443 ssl;
server_name n8n.srebro.cn; ##替换成自己的域名
error_page 404 /404/404.html;
charset utf-8;
ssl_certificate /home/application/nginx/cert/srebro.cn.pem;
ssl_certificate_key /home/application/nginx/cert/srebro.cn.key;
ssl_session_cache shared:SSL:1m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header x-wiz-real-ip $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:5678;
}
}
- 初始化N8N
🎉N8N自动化案例演示
- 官方模板地址: https://n8n.io/workflows/
- 自动定期检测Linux服务器上是否有可更新的软件包,则发送电子邮件📧
复制JSON
- 切换到我们的N8N社区版平台上
- ctrl+v 直接粘贴进来
- 选择第二个节点,修改需要检测的服务器地址,并创建服务器凭证
- 在Command命令区域,输入需要执行的命令;我这里是
openeuler
系统,所以他对于检测软件包升级的命令应该是yum list --update
- 模拟使用Test setp 是可以查看到数据的
- 配置邮件发送功能
- 定义SMTP 邮件服务器信息
- 定义邮件的主题,发件人,收件人信息
- 模拟使用Test setp 是可以查看到数据的
- 回到工作流面板,点击最下面的
Test workflow
手动触发工作流
- 验证是否收到了邮件