进阶技巧

飞牛NAS搭建自动化工作流:n8n部署教程

在 NAS 的日常使用中,我们往往会积攒大量重复性操作:下载文件后的自动归类、抓取网页信息推送、定时备份数据库、甚至是在多个应用间同步数据。虽然飞牛NAS自带的定时任务和 Docker 能解决一部分问题,但当流程复杂到需要条件判断、分支逻辑或对接外部 API 时,传统脚本就显得力不从心。这时,一款强大的自动化工具——n8n,就成了你的得力助手。n8n 是一款开源、可自托管的自动化工作流工具,采用节点式编程,支持可视化拖拽,让你能用代码一样灵活的逻辑,却拥有图形化的操作体验。本文将以飞牛NAS为运行环境,手把手带你完成 n8n 的部署与基础配置,并构建一个实用的自动化示例。

准备工作:开启你的 Docker 环境

飞牛NAS 的系统底层基于 Linux,且深度整合了 Docker。确保你的飞牛NAS 系统版本已更新至最新,并且已经开启了 Docker 服务。你可以在飞牛NAS 的「应用中心」找到 Docker 应用,点击安装并启动。如果尚未安装,请先完成这一步,因为 n8n 将以容器方式运行,这是最高效、最干净的管理方式。

第一步:选择合适的 n8n 镜像与存储方案

n8n 官方提供了多种镜像,我们推荐使用 n8nio/n8n 标准镜像。它包含了完整的运行时。为了持久化数据(工作流、凭据等),需要将容器内的 /home/node/.n8n 目录映射到 NAS 的本地磁盘。在飞牛NAS 中,我们建议新建一个专门的文件夹,例如在 Docker 的共享目录下创建 n8n 文件夹,用于存放所有配置。

第二步:通过 Docker Compose 部署 n8n(推荐)

虽然飞牛NAS 提供了图形化的 Docker 管理界面,但使用 Docker Compose 能更清晰、更可复用地定义服务。在飞牛NAS 的文件管理器中,进入你创建的 n8n 文件夹,新建一个名为 docker-compose.yml 的文件。将以下内容粘贴进去:

version: "3.8"

services:
  n8n:
    image: n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678" # 映射宿主机端口,可自行修改为如 56780
    environment:
      - N8N_HOST=0.0.0.0 # 监听所有接口
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - TZ=Asia/Shanghai # 设置时区
      # 以下为可选项,用于增强安全性与功能
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your_strong_password
      - GENERIC_TIMEZONE=Asia/Shanghai
    volumes:
      - ./n8n_data:/home/node/.n8n # 将数据存储在当前目录下的 n8n_data 文件夹
    networks:
      - n8n_network

networks:
  n8n_network:
    driver: bridge

注意,N8N_BASIC_AUTH_ACTIVE=true 开启了基础登录认证,请务必将 N8N_BASIC_AUTH_USERN8N_BASIC_AUTH_PASSWORD 修改为你自己的强密码。这是暴露在局域网甚至公网时的重要安全屏障。如果你仅在内网使用且信任网络环境,可以暂时设置为 false,但强烈不建议。

保存文件后,打开飞牛NAS 的「终端」或通过 SSH 连接到 NAS,进入该目录执行:

cd /vol1/你的存储池路径/docker/n8n
docker compose up -d

等待镜像拉取并启动。启动成功后,你可以通过 docker ps 查看容器是否正常运行。

第三步:通过图形界面部署(备选方案)

如果你不习惯命令行,飞牛NAS 的 Docker 管理器同样支持。在「Docker」应用里,点击「镜像」->「拉取镜像」,搜索 n8nio/n8n 并选择 latest 标签拉取。然后点击「创建容器」,在「网络端口」中映射 5678 端口;在「存储」中,将 /home/node/.n8n 挂载到你新建的本地文件夹;在「环境变量」中添加 N8N_BASIC_AUTH_ACTIVE=trueN8N_BASIC_AUTH_USERN8N_BASIC_AUTH_PASSWORD。最后点击创建并启动。

第四步:初始化与首次访问

容器启动后,打开浏览器,访问 http://你的飞牛NAS_IP:5678。如果你设置了基本认证,会先弹出登录框,输入你设定的用户名和密码。首次登录后,n8n 会进入初始化设置界面,你可以选择自托管(Self-hosted)或云版(Cloud)。这里务必选择「Self-hosted」,然后按提示创建一个管理员账号(用于 n8n 内部用户的登录,与刚才的基本认证不同)。

进入主界面后,你会看到干净的工作流编辑画布。左侧是节点面板,包含触发器(Trigger)和应用节点(App)。

第五步:实战演练——构建一个 RSS 监控推送工作流

理论讲完,我们来做一个实际案例:监控某个技术博客的 RSS 更新,当有新文章时,自动通过飞书(或钉钉/企业微信)机器人推送到你的群聊。

首先,点击页面右上角的「+」创建一个新工作流,命名为「RSS监控推送」。

  1. 添加触发器节点:在左侧搜索「RSS Read」,拖拽到画布上。点击该节点,配置 URL 为你想要监控的 RSS 地址(例如某博客的 feed)。设置更新频率,比如每 15 分钟检查一次。
  2. 添加处理节点:搜索「IF」节点,将它连接到 RSS Read 节点的右侧。IF 节点用于判断是否是新文章。但 RSS Read 每次都会返回最新条目,我们需要一个去重机制。这里我们简化处理,直接使用 RSS Read 自带的 lastTimeRun 参数,它将只返回新条目。
  3. 添加通知节点:搜索「飞书」(Feishu)或「钉钉」(DingTalk)。以飞书为例,选择「飞书」节点,然后选择「发送消息」操作。你需要先创建一个飞书自定义机器人,并获取 Webhook 地址。在 n8n 的节点配置中,选择「Credential Type」为 Webhook URL,然后粘贴你的机器人地址。在「Message」字段中,我们通过表达式引用前一步的数据。点击输入框右侧的「fx」按钮,输入: javascript {{ $json['title'] }} - {{ $json['link'] }} 这会将文章标题和链接拼接成一条消息。
  4. 保存并激活工作流:点击右上角的「Save」保存,然后点击「Active」开关,使其处于激活状态。此时,工作流便会在后台运行。

你可以手动点击「Execute Workflow」按钮测试一下,如果一切正常,你的飞书群会立刻收到一条测试消息。

进阶技巧:善用环境变量与节点库

n8n 的强大远不止于此。你可以通过环境变量注入数据库连接信息、API 密钥,避免在界面中硬编码。同时,n8n 拥有超过 400 个应用集成节点,从 Gmail、Slack 到数据库、HTTP 请求,几乎无所不能。对于飞牛NAS 用户而言,你完全可以利用 n8n 调度本地的 Python 脚本或 Shell 命令,实现 NAS 智能维护,例如定期清理临时文件、根据磁盘空间自动压缩备份等。

总结

通过本文,你已经在飞牛NAS 上成功部署了 n8n,并跑通了第一个自动化工作流。n8n 的部署过程并不复杂,但它的潜力巨大。它不仅仅是简单的「连接器」,更是一个逻辑引擎,能将你的 NAS 变成真正的自动化中心。从监控、通知到数据处理,n8n 可以帮你从繁琐的重复劳动中解脱出来。希望你在后续的使用中,结合自身需求,创造出更多实用的自动化流程,充分挖掘飞牛NAS 的潜力,享受自动化带来的高效生活。

💬 评论区
发表评论

暂无评论,来说两句吧