群晖 Container Manager (Docker) 部署 n8n 完整教程-踩坑后记录
这份教程将带你从零开始,在群晖(Synology)NAS上部署自动化神器 n8n。针对你刚才遇到的权限报错(EACCES)*和*登录限制(Secure Cookie),我已经将对应的解决方案整合到了核心步骤中。
第一步:准备存储目录
在安装之前,我们需要手动创建存放数据的文件夹,并提前解决权限隐患。
打开群晖 File Station。
在 docker 共享文件夹下新建一个文件夹,命名为 n8n。

【关键:解决权限报错】:
右键点击 n8n 文件夹,选择属性。
点击权限选项卡 -> 新增。
在“用户或组”处下拉选择 Everyone。
勾选读取和写入的所有权限。
勾选左下角的“应用到这个文件夹、子文件夹及文件”,点击保存。
注:这一步是为了防止 n8n 内部 node 用户无法读写宿主机目录导致的 EACCES: permission denied 错误。

第二步:下载映像
打开 Container Manager (原 Docker)。
点击左侧注册表,搜索 n8n。
双击下载 n8nio/n8n(通常选择 latest 标签)。
第三步:配置并启动容器
在映像中找到下载好的 n8nio/n8n,点击运行。

常规设置:
容器名称:n8n。
勾选“启用自动重新启动”(建议开启,保证断电重启后自动运行,也可不勾选,不勾选手动启停即可)。
高级设置 - 存储空间设置(最关键):
点击“添加文件夹”,选择第一步创建的 docker/n8n 文件夹。
装载路径填写:/home/node/.n8n
注意:这里通过映射将容器内部的隐藏文件夹 .n8n 对应到你群晖的普通文件夹。
高级设置 - 端口设置:
本地端口:5678(如果被占用可换成其他)。
容器端口:5678。
类型:TCP。
高级设置 - 环境(解决登录报错):
点击新增以下环境变量:
变量名:N8N_SECURE_COOKIE
变量值:false
注:此项可解决“Secure cookie... insecure URL”的报错,让你能通过局域网 IP 直接访问。
(可选)变量名:GENERIC_TIMEZONE,变量值:Asia/Shanghai。

完成:检查设置,点击下一步并完成。
第四步:访问与常见问题处理
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(或者删掉该变量),以提高安全性。
作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~
