群晖 Container Manager (Docker) 部署 n8n 完整教程-踩坑后记录

2026-04-28 15:00:34 0点赞 2收藏 0评论

这份教程将带你从零开始,在群晖(Synology)NAS上部署自动化神器 n8n。针对你刚才遇到的权限报错(EACCES)*和*登录限制(Secure Cookie),我已经将对应的解决方案整合到了核心步骤中。

第一步:准备存储目录

在安装之前,我们需要手动创建存放数据的文件夹,并提前解决权限隐患。

打开群晖 File Station。

在 docker 共享文件夹下新建一个文件夹,命名为 n8n。

群晖 Container Manager (Docker) 部署 n8n 完整教程-踩坑后记录

【关键:解决权限报错】:

右键点击 n8n 文件夹,选择属性。

点击权限选项卡 -> 新增。

在“用户或组”处下拉选择 Everyone。

勾选读取和写入的所有权限。

勾选左下角的“应用到这个文件夹、子文件夹及文件”,点击保存。

注:这一步是为了防止 n8n 内部 node 用户无法读写宿主机目录导致的 EACCES: permission denied 错误。

群晖 Container Manager (Docker) 部署 n8n 完整教程-踩坑后记录

第二步:下载映像

打开 Container Manager (原 Docker)。

点击左侧注册表,搜索 n8n。

双击下载 n8nio/n8n(通常选择 latest 标签)。

第三步:配置并启动容器

在映像中找到下载好的 n8nio/n8n,点击运行。

群晖 Container Manager (Docker) 部署 n8n 完整教程-踩坑后记录

常规设置:

容器名称:n8n。

勾选“启用自动重新启动”(建议开启,保证断电重启后自动运行,也可不勾选,不勾选手动启停即可)。

高级设置 - 存储空间设置(最关键):

点击“添加文件夹”,选择第一步创建的 docker/n8n 文件夹。

装载路径填写:/home/node/.n8n

注意:这里通过映射将容器内部的隐藏文件夹 .n8n 对应到你群晖的普通文件夹。

高级设置 - 端口设置:

本地端口:5678(如果被占用可换成其他)。

容器端口:5678。

类型:TCP。

高级设置 - 环境(解决登录报错):

点击新增以下环境变量:

变量名:N8N_SECURE_COOKIE

变量值:false

注:此项可解决“Secure cookie... insecure URL”的报错,让你能通过局域网 IP 直接访问。

(可选)变量名:GENERIC_TIMEZONE,变量值:Asia/Shanghai。

群晖 Container Manager (Docker) 部署 n8n 完整教程-踩坑后记录

完成:检查设置,点击下一步并完成。

第四步:访问与常见问题处理

1. 正常访问

在浏览器输入 http://群晖IP:5678 即可看到 n8n 的初始化界面。

2. 依然提示 "Secure Cookie" 错误?

如果你已经设置了 N8N_SECURE_COOKIE=false 却还是报错:

清除缓存:浏览器可能记录了之前的错误状态,请清理缓存或使用无痕模式(Ctrl+Shift+N)打开。

浏览器兼容性:尽量使用 Chrome、Edge。避免使用 Safari,因为 Safari 即使关闭了安全 Cookie 限制,有时仍会拦截本地非 HTTPS 的登录信息。

3. 启动日志中依然有 Permission Denied?

如果容器无法启动,请检查:

是否在第一步中勾选了“应用到子文件夹”?

如果还是不行,可以尝试通过 SSH 连接群晖,输入以下命令强制修改权限:

Bash

# 假设你的路径是 volume1/docker/n8n

sudo chown -R 1000:1000 /volume1/docker/n8n

进阶建议:域名访问

如果你希望在公网通过 https:// 访问 n8n,建议使用群晖自带的反向代理服务器

控制面板 -> 登录门户 -> 反向代理服务器。

设置来源为 HTTPS + 你的域名,目的地为 HTTP + localhost + 5678。

特别提醒:一旦配置了 HTTPS 域名访问,建议把 N8N_SECURE_COOKIE 改回 true(或者删掉该变量),以提高安全性。

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
2
扫一下,分享更方便,购买更轻松