本地通过 Docker + n8n + Ngrok + Traefik 快速、安全、免费的搭建和公开访问你的 n8n 实例

超详细的中文简体教程,帮助你在本地通过 Docker + n8n + Ngrok + Traefik 快速、安全、免费的搭建和公开访问你的 n8n 实例。这份教程是从 0 基础出发的,适合没有部署经验的新手朋友。
? 最终目标
实现在本地电脑上部署 n8n,并且可以通过公网地址访问(用于 Webhook 测试或远程控制),无需购买服务器和域名。
? 使用的技术组件一览
工具 | 作用 | 说明 |
---|---|---|
Docker | 容器运行环境 | 安装后可快速启动 n8n |
Docker Compose | 编排多个容器 | 同时启动 n8n + Ngrok |
n8n | 自动化流程平台 | 我们的主角,用于连接各种服务 |
Ngrok | 临时公网访问隧道 | 把 localhost 映射为公网地址 |
Traefik(可选) | 反向代理、证书管理 | 稳定运行 HTTPS 和多服务控制(正式部署用) |
? 环境准备(一次性配置)
1. 安装 Docker 和 Docker Compose
Windows 或 macOS:
下载地址:https://www.docker.com/products/docker-desktop/
安装完之后:
-
打开 Docker Desktop
-
启动成功后可以在终端执行:
确保都能正常输出版本号。
Linux(Ubuntu):
? 创建 n8n + Ngrok 的 Docker Compose 配置
步骤:
-
在任意文件夹下创建一个目录,例如:
-
创建
.env
文件(用于配置变量):
-
创建
docker-compose.yml
文件:
-
启动服务:
? 启动成功后
查看状态:
打开 n8n 本地地址:
浏览器访问:
用户名和密码是你 .env
里设置的。
获取公网访问地址(Ngrok)
打开浏览器,访问:
你会看到如下界面:
现在你可以使用这个 https://abcd1234.ngrok.io
地址,在 全球任意地点 访问你的本地 n8n,包括:
-
测试 Webhook
-
外部 API 回调
-
手机访问你的自动化流程
?️ 安全建议
-
一定启用 Basic Auth(已在上面配置中设置)
-
Ngrok 的免费地址是随机的,每次重启会变,所以不能用于长期部署
-
若要长期稳定部署,请使用 Traefik + 自定义域名(可继续写详细教程)
? 停止和清理
停止服务:
清理数据(可选):
✅ 总结
你获得了什么 | 说明 |
---|---|
本地 n8n 服务 | 不依赖公网 IP |
公开访问入口 | Ngrok 自动生成的公网地址 |
安全性控制 | 登录认证已开启 |
一键部署能力 | 使用 Docker Compose 快速启动 |
?【进阶版】使用 Traefik + HTTPS + 自定义域名 部署本地 n8n
? 目标
让你在本地或 VPS 上运行 n8n,同时:
-
✅ 使用 自定义域名(如
n8n.yourdomain.com
)访问 -
✅ 自动签发 HTTPS 证书(通过 Let’s Encrypt)
-
✅ 拥有 多服务路由能力,为将来拓展多个服务打好基础
-
✅ 安全、稳定、无需每次手动配置
? 准备工作
1. 你需要有:
-
一个自己的域名(例如:
yourdomain.com
)✅ -
能修改域名 DNS 的权限(比如阿里云、Cloudflare、腾讯云)✅
-
一台公网服务器(例如阿里云/腾讯云/搬瓦工)或支持公网 IP 的本地环境✅
-
安装好 Docker + Docker Compose ✅
如果你没有服务器,也可以在本地部署,但必须要将域名解析到你当前电脑的公网 IP(比如通过花生壳、Cloudflare Tunnel 等)
? 目录结构设计
你可以用如下目录结构(适合长期维护):
? .env 文件(保存环境变量)
? traefik/traefik.yml 文件(Traefik 主配置)
? traefik/acme.json 文件(用于保存 HTTPS 证书)
? docker-compose.yml 文件
?️ 第一步:配置你的 DNS
登录你购买域名的平台,把以下记录加进去:
等待 DNS 生效(通常 1-5 分钟)
? 第二步:启动所有服务
在项目目录下执行:
✅ 第三步:访问 n8n(带 HTTPS!)
浏览器访问:
输入用户名密码(就是 .env
中设置的),你就能使用安全加密的 n8n 啦!
? 功能加分项(可选配置)
-
防火墙:只开放 80、443 端口
-
数据备份:定期打包
n8n_data/
目录 -
加密 API 密钥管理:可以结合 Vault 或环境变量方式
? 重启 & 更新
升级 n8n 镜像版本:
? 小结对比
部署方式 | 公网访问 | 安全性 | 自动证书 | 适用场景 |
---|---|---|---|---|
Ngrok 临时版 | ✅ | ❌ 限制访问域名 | ❌ | 测试、学习 |
Traefik + 域名 | ✅ | ✅ Basic Auth + HTTPS | ✅ | 正式部署、上线系统 |
? 想法加值:还可以接什么服务?
-
接入 Telegram、微信机器人、GitHub 等,做自动通知
-
搭配 Notion、Google Sheets、Email 做自动报表
-
自动从电商后台抓数据、发邮件
-
做个人 AI 助理流程
如果你想,我还可以为你定制:
-
✅ 一键脚本部署版
-
✅ 本地 + Cloudflare Tunnel 方案(无需公网 IP)
-
✅ 与 WordPress / 电商系统整合流程
-
✅ 带前端界面的 n8n SaaS 封装方案