
n8n自动化工具Docker本地部署教程:飞牛NAS安装+中文汉化可视化工作流系统
“最近折腾我的NAS,挖到一个宝藏——开源工作流神器n8n!它号称‘开源版Zapier’,支持400+应用集成,用拖拽节点就能玩转跨平台自动化,从联动Google日历、Notion、飞书搞定智能办公流,到用LangChain节点构建AI工作流(比如自动抓竞品价、生成会议纪要),潜力巨大。
但是默认全英文界面实在劝退!不服输的我,决心在NAS上用Docker部署中文版n8n,过程踩坑无数,终于搞定了持久化部署+深度汉化。
今天手把手分享这套『NAS部署n8n+实时汉化』方案,从拉取镜像、挂载中文语言包到配置PostgreSQL数据库,让你在私有环境安全省钱地跑通可视化工作流——毕竟,谁不想在浏览器里用母语轻松编排专属的AI自动化助手呢?”
什么是 n8n?一款开源可视化自动化神器
在提升效率和打通不同工具之间的壁垒时,“自动化” 是绕不开的关键词。你是否曾希望不同系统间能自动联动?是否想摆脱重复操作,把时间花在更有价值的事情上?
如果你在寻找一个强大、灵活、可自托管的自动化解决方案,那么 n8n(发音为 n-eight-n)绝对值得深入了解。
🔧 n8n 是什么?
n8n 是一款开源的、基于节点的 低代码 / 无代码工作流自动化工具。它允许你以可视化方式构建自动化流程(称为“工作流”),通过连接各种应用、服务、API,实现复杂逻辑,而无需深入编码。
用通俗的话说,n8n 就像一套“自动化搭积木工具”,让每个非开发者也能轻松构建属于自己的自动化系统。
为什么选择 n8n?
✅ 开源、自托管,自由掌控
核心完全开源,采用可持续许可,安全透明;
支持在自己的服务器或 NAS 上部署,数据不离开本地;
也提供官方云服务(n8n.cloud)作为选择;
自托管意味着更高的安全性和合规性,非常适合企业内网部署。
✅ 拖拽式可视化工作流编辑器
类似流程图的界面,拖拽连接节点即可构建逻辑;
每个节点代表一个操作,比如发送邮件、Webhook 触发、调用 API、数据库查询等;
支持条件判断、循环、错误处理、调度执行等强大逻辑;
流程可视、逻辑清晰、上手容易,维护成本低。
✅ 支持海量服务与协议
内置连接上百种服务(如 Google、Notion、Slack、Trello、GitHub、Telegram 等);
支持 HTTP API / Webhook / 数据库(MySQL, PostgreSQL) 等协议;
社区贡献大量第三方节点,可扩展性极强;
几乎可以连接所有带 API 的工具,真正做到“万物互联”。
✅ 高度灵活,适用于复杂业务逻辑
可嵌入代码节点(JavaScript、Python)做自定义处理;
支持数据转换、条件分支、定时任务、异常处理等;
对于开发者来说,n8n 也能作为后端自动化逻辑引擎使用。
✅ 免费强大的社区版
社区版永久免费,功能强大,适用于 90% 的中小团队;
结合 Docker 部署、自托管部署,可节省大量自动化成本;
适合个人开发者、创业团队、中小企业快速落地使用。
一句话总结
n8n 是开源自动化领域的明星工具,融合了强大功能、易用体验与数据主权,是本地部署自动化的不二之选。
无论你是想简化日常任务、打通工具间壁垒,还是构建复杂业务流程,n8n 都能帮助你释放自动化的真正潜力。
接下来我们就以 飞牛 NAS 为例,演示如何通过 Docker 本地部署 n8n,并安装中文汉化界面,打造属于你的全自动化控制中心!
n8n部署教程
本教程将手把手教你如何在 NAS 系统上本地部署开源自动化工具 n8n,并集成汉化界面,适合初学者参考。
本文演示以 飞牛 NAS 系统 为例,其他系统请确保已安装好最新版 Docker 和 Docker Compose。
1. 开启 SSH 并连接 NAS
打开 NAS 的 SSH 功能,使用终端工具(如 Windows 的 Xshell / macOS 的 Terminal)进行连接。
连接后,切换至 root
权限:
sudo -i
2. 创建项目文件夹并获取路径
在 NAS 的文件管理器中,新建一个文件夹(例如 n8n
项目文件夹),右键 > 详细信息 > 常规 > 复制原始路径。
3. 进入项目目录
在终端中执行如下命令,进入你刚刚新建的项目路径:
# 将/vol1/1002/n8n换成你自己实际的文件夹路径
cd /vol1/1002/n8n
4. 创建所需子文件夹
使用一条命令一次性创建需要的子文件夹:
mkdir -p db_storage n8n_storage n8n_zh_ui
5. 编辑 docker-compose.yml 文件
使用以下命令创建并编辑 Docker Compose 模板:
vi docker-compose.yml
按
i
进入编辑模式,粘贴以下内容,只需修改n8n
的端口号即可。编辑完后按Esc
,输入:wq
保存退出。
(排版太挤的就先粘贴到文本文件内,修改后再使用,灵活应变。)# 这个模板中只需要你修改n8n的容器端口,其余的不动。 version: '3.8' # 使用 Docker Compose 3.8 版本语法(支持条件健康检查等特性) volumes: db_storage: # PostgreSQL 数据持久化卷 n8n_storage: # n8n 工作流和用户配置持久化卷 services: postgres: image: postgres:16 # 使用官方 PostgreSQL 16 镜像 restart: always # 容器崩溃或重启时自动恢复 environment: - POSTGRES_USER # 主数据库用户(环境变量中定义) - POSTGRES_PASSWORD # 主用户密码 - POSTGRES_DB # 默认创建的数据库名称 - POSTGRES_NON_ROOT_USER # 额外创建的非 root 用户(供 n8n 使用) - POSTGRES_NON_ROOT_PASSWORD # 非 root 用户的密码 volumes: - ./db_storage:/var/lib/postgresql/data # 持久化数据库数据到宿主机(可将./db_storage换成完整的文件夹路径) - ./init-data.sh:/docker-entrypoint-initdb.d/init-data.sh # 初始化脚本:postgres数据库容器启动时自动执行,用于创建非 root 用户等自定义配置 healthcheck: # 健康检查:用于确认数据库是否准备好 test: ['CMD-SHELL', 'pg_isready -h localhost -U ${POSTGRES_USER} -d ${POSTGRES_DB}'] interval: 5s # 每 5 秒检查一次 timeout: 5s # 每次检查的超时时间 retries: 10 # 最多重试 10 次失败才判定服务不健康 n8n: image: docker.n8n.io/n8nio/n8n # 使用官方 n8n 镜像 restart: always # 自动重启容器 environment: - DB_TYPE=postgresdb # 指定数据库类型为 PostgreSQL - DB_POSTGRESDB_HOST=postgres # 数据库主机名,对应上方 postgres 服务 - DB_POSTGRESDB_PORT=5432 # PostgreSQL 默认端口 - DB_POSTGRESDB_DATABASE=${POSTGRES_DB} # 数据库名称 - DB_POSTGRESDB_USER=${POSTGRES_NON_ROOT_USER} # 数据库用户 - DB_POSTGRESDB_PASSWORD=${POSTGRES_NON_ROOT_PASSWORD} # 数据库用户密码 - GENERIC_TIMEZONE=Asia/Shanghai # 设置时区(例如 Asia/Shanghai) - N8N_RUNNERS_ENABLED=true # 启用 Runners 模式:每个工作流在独立子进程中执行,提高稳定性与并发能力,推荐用于生产环境。 - N8N_SECURE_COOKIE=false # 👈 禁用 Secure Cookie,允许在 HTTP 下运行,如果改成true则需要配置HTTPS证书。 - N8N_DEFAULT_LOCALE=zh-CN # 指定N8N语言为中文 ports: - 5678:5678 # 映射 n8n 默认端口到宿主机,用于 Web UI 访问,左侧的5678端口可以自己更改。 links: - postgres # 建立与 postgres 容器的网络连接(不推荐但仍兼容) volumes: - ./n8n_storage:/home/node/.n8n # 映射 n8n 配置与数据目录,持久化用户数据(可将./n8n_storage换成完整的文件夹路径) - ./n8n_zh_ui:/usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist # 映射n8n的汉化文件到容器内部,替换掉默认的英文 UI 文件。(记得去GitHub下载最新的汉化文件:https://github.com/other-blowsnow/n8n-i18n-chinese)(可将./n8n_zh_ui换成完整的文件夹路径) depends_on: postgres: # 等待 postgres 启动并变为健康状态再启动 n8n condition: service_healthy
6. 编写 .env 环境变量文件
创建并编辑
.env
文件,设置数据库相关密码:vi .env
按
i
进入编辑模式,粘贴并修改以下内容。编辑完后按Esc
,输入:wq
保存退出。# ⚠ POSTGRES_USER 和 POSTGRES_NON_ROOT_USER 建议设置不同的用户名,权限分离更安全。 # ⚠ 密码 POSTGRES_PASSWORD 和 POSTGRES_NON_ROOT_PASSWORD 都建议使用复杂且不重复的字符串。 # ⚠ 这些环境变量会被 docker-compose.yml 中的 PostgreSQL 和 n8n 服务引用。 # PostgreSQL 数据库的超级管理员用户名,默认是 postgres POSTGRES_USER=changeUser # 超级管理员用户的密码,请设置复杂安全的密码 POSTGRES_PASSWORD=changePassword # 默认创建的数据库名称,n8n 会使用此数据库存储数据 POSTGRES_DB=n8n # 为 n8n 创建的非 root 数据库用户,用于连接数据库执行操作 POSTGRES_NON_ROOT_USER=changeUser # 非 root 用户的密码,请与上面密码不同,保证安全 POSTGRES_NON_ROOT_PASSWORD=changePassword
7. 编写 init-data.sh 脚本文件
创建初始化脚本
init-data.sh
,用于创建非 root 数据库用户:vi init-data.sh
按
i
粘贴以下内容,保存退出:Esc
→:wq
。#!/bin/bash # 使用 bash 解释器执行脚本 set -e; # 一旦脚本中有任何命令执行失败(非 0),立即退出整个脚本 # 如果环境变量 POSTGRES_NON_ROOT_USER 和 POSTGRES_NON_ROOT_PASSWORD 都被设置了(非空) if [ -n "${POSTGRES_NON_ROOT_USER:-}" ] && [ -n "${POSTGRES_NON_ROOT_PASSWORD:-}" ]; then psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL -- 使用超级管理员账号连接 PostgreSQL,并执行以下 SQL 语句: CREATE USER ${POSTGRES_NON_ROOT_USER} WITH PASSWORD '${POSTGRES_NON_ROOT_PASSWORD}'; -- 创建一个非 root 用户,并设置其密码 GRANT ALL PRIVILEGES ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_NON_ROOT_USER}; -- 授予该用户对指定数据库的所有权限(包括读写、建表等) GRANT CREATE ON SCHEMA public TO ${POSTGRES_NON_ROOT_USER}; -- 授予该用户在 public 模式下创建表的权限 EOSQL else # 如果上述两个变量未设置,输出提示信息 echo "SETUP INFO: No Environment variables given!" fi
8. 下载并安装 n8n 汉化界面
前往 GitHub 下载最新汉化文件:
汉化项目地址:https://github.com/other-blowsnow/n8n-i18n-chinese点击右上角 Release,选择最新版。
下载
editor.tar.gz
文件。将其上传至
n8n_zh_ui
文件夹,并在该目录下解压文件:# Linux系统解压命令(可选) tar -xzvf editor.tar.gz
9. 设置目录权限(群晖NAS系统建议执行)
查看当前项目路径
pwd
赋予当前项目文件夹读写权限:
# 将/vol1/1002/n8n/换成你自己实际的文件夹路径 chmod -R 777 /vol1/1002/n8n/
10. 启动服务
运行以下命令启动容器:
(网络不好的大概率会拉取镜像失败,可以挂梯子,没有的可以点此处跳转看教程。)
docker compose up -d
或
docker-compose up -d
11. 查看容器状态与日志
查看容器状态:
docker compose ps 或 docker-compose ps
查看正在运行的项目容器实时日志,按
Ctrl+C
中断查看。docker compose logs -f 或 docker-compose logs -f
12. 首次访问 n8n 并注册账户
打开浏览器,以NAS的IP+设置的端口号进行访问。
以本机为例:http://192.168.2.5:5678
按提示设置一个账户随便选择一下跳过调查问卷
输入邮箱,获取免费的许可证密钥。
13. 解锁更多功能(可选)
n8n 支持安装社区节点扩展:
点击左下角「设置」>「激活密钥」
输入密钥后点击激活如果你快速扩展 n8n 的功能,集成更多服务和平台可以点击「社区节点」>「浏览社区节点」集成第三方服务
剩下的就是你自由的使用了,如果你自己组建自动化毕竟困难,也可以直接使用n8n官网中现有的工作流模板。
https://n8n.io/workflows/
14. 推荐资源合集(持续更新)
🔌 社区节点中心:https://www.npmjs.com/search?q=keywords%3An8n-community-node-package
🌐 n8n 汉化语言包:https://github.com/other-blowsnow/n8n-i18n-chinese
如你不想重复造轮子,也可以直接在官方模板中心查找适用的自动化流程,实现更高效的工作流。
如果需要,我也会在 Halo 博客持续更新自动化搭建案例,欢迎关注!
文末
👇👇👇
- 感谢你赐予我前进的力量