
n8n本地部署,一篇搞定!
Share
用Docker+CloudflareTunnel搞定n8n公网访问
核心要点
一句话总结:这个视频教你如何用Docker在自己的服务器上(家里或云上)安装n8n,并且用CloudflareTunnel技术,让你能从外网安全地访问家里的n8n。
-
为啥要这么折腾?你装在家的n8n默认是内网工具,外面访问不了。为了让它能接收来自互联网的信号(比如Webhook),需要给它开个外网通道。
-
解决方案是啥?用Cloudflare的免费“隧道”(Tunnel)服务。它就像在你家和外网之间挖了一条秘密地道,安全又高效,还不用在路由器上搞什么端口转发。
-
需要准备啥?
- 一个你自己的域名(一年几十块钱)。
- 一个免费的Cloudflare账号。
- 一台装了Docker的服务器(Linux系统)。
落地执行项
跟着下面几步走,就能把n8n跑起来。
第一步:准备工作(域名和Cloudflare)
-
搞定域名和账号:去Cloudflare官网,注册一个免费账号,顺便在上面买个便宜的域名。
-
创建隧道:
- 登录Cloudflare,在左侧菜单找到ZeroTrust并进入。
- 在ZeroTrust界面里,找到Networks->Tunnels。
- 点击Createatunnel,给你的隧道起个名字(比如
n8n-tunnel
)。
-
连接你的服务器和隧道:
- Cloudflare会给你一串安装命令。选择你的服务器系统(比如Debian/Ubuntu)。
- 用SSH登录到你的服务器,把那串命令
复制、粘贴、回车。这会在你服务器上安装一个连接器。 - 再复制第二条命令,把它设置成开机自启的服务。
- 看到Cloudflare页面显示“Connectorconnected”就说明连接成功了。
第二步:配置隧道指向n8n
-
设置公网访问地址:
- 在Cloudflare创建隧道的下一步,设置PublicHostname。
-
Subdomain:填
n8n
。 - Domain:选你刚买的那个域名。
-
ServiceType:选
HTTPS
。 -
URL:填你服务器的内网IP地址,比如
192.168.1.100
。
-
关闭TLS验证:
- 在下面的Additionalapplicationsettings->TLS里,找到NoTLSVerify选项,
打开它。
- 在下面的Additionalapplicationsettings->TLS里,找到NoTLSVerify选项,
-
保存:点击Savetunnel。现在,
https://n8n.你的域名.com
这条路已经通了,就差把n8n装上了。
第三步:在服务器上安装n8n
-
安装Docker:如果服务器上没有Docker,先去Docker官网找对应你系统的安装文档,几行命令就能装好。
-
创建n8n目录和文件:
- 在服务器上创建一个新文件夹并进入:
mkdirn8n-compose&&cdn8n-compose
- 创建环境变量文件:
nano.env
- 在服务器上创建一个新文件夹并进入:
-
配置
.env
文件:把n8n官方文档里的.env
示例内容复制进去,然后修改这几项:-
DOMAIN_NAME
:填你的主域名(比如niscool.cc
)。 -
SUBDOMAIN
:保持默认的n8n
就行,别动。 -
TIMEZONE
:改成你的时区,比如Asia/Shanghai
。 -
SSL_EMAIL
:填你的邮箱地址。 - 改完后
Ctrl+X
,按Y
保存退出。
-
-
创建DockerCompose文件:
- 创建文件:
nanodocker-compose.yml
- 把n8n官方文档里的
docker-compose.yml
内容原封不动地复制粘贴进去,直接保存退出。
- 创建文件:
第四步:启动并验证
-
一行命令启动:在
n8n-compose
目录下,执行:docker-composeup-d
-
检查是否成功:
- 执行
dockerps
,能看到n8n
和traefik
两个容器在运行。 - 打开浏览器,访问
https://n8n.你的域名.com
,看到n8n的设置界面就大功告成了!
- 执行