每天有好多重复的事情要做:微信上收到同事发来的文件要手动存到 NAS 对应文件夹、看到好文章要复制粘贴到剪藏工具、天气预报变了要自己检查带伞、家里 NAS 的备份状态总得隔几天去瞅一眼……这些事情说大不大,说小不小,但积累起来,每天至少花掉我半小时。我试过 Zapier 和 IFTTT,但要么免费额度太少,要么不支持我 NAS 上的自建服务,数据还要经过第三方服务器,心里总有点不踏实。
后来我找到了一个能完全自托管的免费方案,把这些重复操作一个个接走了。今天就把我的完整搭建过程分享出来。
为什么我选择自己搭,而不是用云服务
我一开始也图省事,注册了 Zapier 和 IFTTT。用了几个月发现几个痛点:
- 免费额度极其有限
:Zapier 免费版每月只有 100 次任务,稍微多几个流程就超了。
- 数据走第三方
:我的文件在 NAS 和云服务之间流转,要经过 Zapier 的服务器,虽然他们说加密,但数据毕竟不在自己手里。
- 不支持内网服务
:我的 NAS 上的很多应用没有公网 API,Zapier 根本连不上。
我需要的是一款能跑在我自己 NAS 上、完全离线可控、支持各种自建服务接口的自动化工具。这就是我最终选择 n8n 的原因。
n8n 是什么
n8n 是一个免费的工作流自动化工具,代码完全开放(采用 fair-code 模式的 Sustainable Use License),GitHub 上已经有 20 多万个星标。它就像一个存在你自己服务器上的 Zapier,内置 400 多个官方节点——Webhook、邮件、数据库、HTTP 请求、AI 接口、文件操作、定时触发等等,加上社区节点能对接的服务超过 1500 种。
它的核心特点是:
- 源码开放
:采用 Sustainable Use License,个人自用完全免费,没有任务数限制,也不会像 Zapier 那样卡额度
- 可视化拖拽编辑
:不需要写代码,拖拽节点就能搭出工作流
- 自托管
:跑在你自己的 NAS 上,数据不出内网
- 400+ 内置节点
:覆盖主流服务,还支持自定义 HTTP 请求和代码节点,几乎什么都能接
我的搭建环境
我用的是一台入门级 NAS(Intel N100 处理器,8GB 内存),日常跑着 Docker 和十来个小服务。n8n 本体空闲时只占 100 多 MB 内存,加上 PostgreSQL 和跑工作流时的峰值,总共 300-500MB 左右,对 8GB 内存的 NAS 来说毫无压力。
完整搭建步骤 第一步:准备目录结构
我在 NAS 上先建好 n8n 的数据目录:
/nas/docker/n8n/
├── docker-compose.yml
├── data/ # n8n 工作流数据
└── pgdata/ # PostgreSQL 数据库数据第二步:编写 docker-compose.yml生产环境建议用 PostgreSQL 数据库,SQLite 虽然也能用,但并发和稳定性差不少。下面是完整的 docker-compose.yml,包含 n8n 和 PostgreSQL 两个服务:
version: "3.8"
services:
postgres:
image: postgres:16-alpine
restart: unless-stopped
environment:
- POSTGRES_USER=n8n
- POSTGRES_PASSWORD=请替换成你的密码
- POSTGRES_DB=n8n
volumes:
- ./pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U n8n"]
interval: 10s
timeout: 5s
retries: 5n8n:
image: n8nio/n8n:latest
restart: unless-stopped
ports:
- "5678:5678"
environment:
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=postgres
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=n8n
- DB_POSTGRESDB_USER=n8n
- DB_POSTGRESDB_PASSWORD=请替换成你的密码
- N8N_SECURE_COOKIE=false
- GENERIC_TIMEZONE=Asia/Shanghai
- TZ=Asia/Shanghai
volumes:
- ./data:/home/node/.n8n
depends_on:
postgres:
condition: service_healthy
注意:把 POSTGRES_PASSWORD 和 DB_POSTGRESDB_PASSWORD 中的密码替换成你自己设置的强密码。 GENERIC_TIMEZONE 和 TZ 必须设置成东八区,否则定时触发的工作流会按 UTC 时间执行,早上 8 点的任务会跑到下午 4 点。如果通过反代对外暴露,记得把 N8N_SECURE_COOKIE 设为 true 并配置 HTTPS。第三步:启动服务
把 docker-compose.yml 放到刚才建的目录里,然后执行:
docker compose up -d等待几十秒,等 PostgreSQL 初始化完成,n8n 就会自动启动。访问 http://NAS 的 IP:5678 就能看到 n8n 的启动页面:
![]()
首次启动因为 PostgreSQL 初始化数据库和 n8n 运行迁移脚本,会慢一些,屏幕上会显示 「n8n is starting up. Please wait」。这时候可以用 docker compose logs -f 查看后台进度:
docker compose logs -f看到日志中出现 n8n ready on 0.0.0.0, port 5678 ,刷新页面就能进入注册页面了。
注册一个账号后,就进入了可视化工作流编辑器界面。
![]()
第四步:配置反代和域名(可选)
如果我想在外网访问 n8n,我一般会在反向代理(比如 Nginx Proxy Manager)里添加一条规则,把 n8n.我的域名.com 指向 http://localhost:5678 ,再配上 SSL 证书。这样在外面也能随时查看和管理工作流了。
我搭建的几个实用工作流 ![]()
1. 微信文件自动归档
我每天都会在微信上收到大量文件——同事发的项目文档、客户发来的合同扫描件、群里分享的参考资料。手动下载再存到 NAS 的不同文件夹,非常繁琐。
个人微信没有开放接口,没法直接把文件推给 Webhook,我的做法是用 文件夹监听的思路 :在微信电脑版设置里把文件保存目录指向 NAS 的同步文件夹,然后在 n8n 里用本地文件触发节点(Local File Trigger)盯着这个目录——新文件一进来,就按文件类型自动归档:
合同类 →
NAS/业务/合同/设计稿 →
NAS/项目/设计资源/会议记录 →
NAS/团队/会议纪要/
这个流程跑起来之后,我再也没手动整理过微信文件。(补充:如果你用的是企业微信,n8n 社区有对接企业微信 API 的节点,可以直接走回调接收文件消息,比文件夹监听更实时。)
2. NAS 备份状态日报
我的 NAS 上跑着几个重要数据的备份任务(重要文档、照片库、Docker 配置),以前我每周登录检查一次,总担心哪次备份失败了没发现。
现在我用 n8n 的定时触发器,每天早上 8 点执行一个工作流:
连接备份脚本写入状态的数据库,查询上次备份结果
如果有备份失败记录,通过 Webhook 推送到手机通知
如果全部成功,只发一条简单汇总
这样每天起床看一眼手机,就知道备份是否正常,心里踏实多了。
3. RSS 订阅精华自动汇总
我订阅了几十个技术博客和新闻源的 RSS,每天信息量很大。我写了一个 n8n 工作流:
每小时抓取 RSS feed 的新文章
用 AI 节点提取摘要并打标签
将摘要推送到我的笔记工具
这样我每天只需要花 10 分钟浏览摘要,感兴趣的再点开全文,阅读效率提高了不少。
4. 天气变化主动提醒
我设置了一个每天凌晨 6 点的工作流:
调用天气 API 获取当天天气预报
判断是否有雨、极端温度等情况
如果有异常天气,通过通知节点推送到手机
如果没有异常,跳过不发送
这样我不用每天打开天气 App,遇到降温或下雨天自然会收到提醒。
5. 下载任务完成后自动通知
我在 NAS 上跑着下载工具,下载完成后之前需要手动去检查。现在我在 n8n 里配了一个 Webhook 接收下载完成的通知,然后自动:
发送一条通知到手机
如果是电影,自动移到影视库目录
如果是文件,按类型分类归档
用上 n8n 已经三个月了,说说我的真实感受。
最直观的变化是时间 。以前每天花在重复操作上的时间大概半小时,现在基本归零了。文件自动归档、备份自动巡检、信息自动汇总,这些「小事情」加在一起,每周省出好几个小时。
第二是可控性 。所有数据都在我的 NAS 上,工作流引擎也是我自己的,不需要担心哪家云服务涨价或者关停,也不用担心隐私数据经过第三方。
第三是扩展性 。n8n 的节点生态很丰富,从最基础的 HTTP 请求、数据库操作,到 AI 文本处理、文件格式转换,几乎什么都能接。我最近还接入了大语言模型,让工作流能自动理解邮件内容并分类响应。
一点小建议
我刚上手的时候,就是从最简单的流程开始的——一个定时发通知、或者一个 Webhook 接收消息。等熟悉了编辑器的拖拽操作和节点配置逻辑,再慢慢尝试更复杂的多步流程。
n8n 的社区也很活跃,遇到问题基本都能搜到解决方案。如果某个功能找不到现成的节点,可以用 HTTP Request 节点自定义对接,几乎什么 API 都能接。
点个关注不迷路
你平时在 NAS 上自动化了哪些重复操作?或者有什么一直想自动化但还没动手的事?评论区聊聊你的想法
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.