前期准备工作:
项目 | 内容 |
---|---|
一台 VPS | 推荐 Ubuntu 20.04 / 24.04,公网 IP |
一个域名 | 可用子域名,如:n8n.example.com |
域名 DNS 可配置 | 推荐用 Cloudflare(可免费用) |
能远程 SSH 到服务器 | 如:finalshell/Xshell / Mac 终端 / Windows Terminal |
vps:使用是海外版阿里云 一年9.9美金 点击去注册>>
不实名使用阿里云vps(建议买内存大一点的,低配容易卡机 )
— 香港手机卡 仅收短信那种 某宝购买 尝试使用虚拟号,这个网站有香港号 ,可以支付宝充值>>
建议某宝购买实体卡靠谱
–切换香港地区ip 可以使用优质机场切换ip,我用的机场点击查看注册>>
— 无需实名可以付费阿里云的虚拟visa信用卡 点击进入注册>> 不知道如何注册充值看这期视频>>
(阿里云中绑定支付方式时,若地区选的香港,一定要使用机场或vpn将ip切换到香港,tun全局模式下,使用google map 复制一个香港地区的详细地址 随便输入一个 正常人的姓名 才能绑定虚拟信用卡 去支付)
国内阿里云 点击查看》
域名:我使用的是namesilo这个网站,一年1.78美金
mamesilo 域名网站可以支付宝支付,点击链接网站>>
手动一步一步安装
一、安装 Docker 环境
登录你的 VPS(示例):
安装 Docker 和 Docker Compose:
sudo apt update && sudo apt install -y docker.io docker-compose
sudo systemctl enable docker
💡 docker 是容器引擎,docker-compose 是配置多个服务(如 n8n + traefik)的工具。
二、创建 n8n 项目目录
mkdir -p ~/n8n-docker && cd ~/n8n-docker
三、创建 .env
配置文件
cat <<EOF > .env
# ⚠️ 修改为你自己的域名
DOMAIN_NAME=n8n.example.com
# ⚠️ 登录用户名和密码(自定义)
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=yourSuperSecretPassword
EOF
📌 .env 文件是用于存储自定义配置的地方,后续部署时会自动读取这些值。
四、创建 docker-compose.yml
文件
cat <<EOF > docker-compose.yml
version: '3.7'
services:
n8n:
image: n8nio/n8n
restart: always
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=\\${N8N_BASIC_AUTH_USER}
- N8N_BASIC_AUTH_PASSWORD=\\${N8N_BASIC_AUTH_PASSWORD}
- N8N_HOST=\\${DOMAIN_NAME}
- N8N_PORT=5678
- WEBHOOK_URL=https://\\${DOMAIN_NAME}/
- VUE_APP_URL_BASE_API=https://\\${DOMAIN_NAME}/
- N8N_PROTOCOL=https
- TZ=Asia/Shanghai
volumes:
- n8n_data:/home/node/.n8n
networks:
- web
labels:
- "traefik.enable=true"
- "traefik.http.routers.n8n.rule=Host(\\`\\${DOMAIN_NAME}\\`)"
- "traefik.http.routers.n8n.entrypoints=websecure"
- "traefik.http.routers.n8n.tls.certresolver=myresolver"
- "traefik.http.services.n8n.loadbalancer.server.port=5678"
traefik:
image: traefik:latest
command:
- "--api.insecure=true"
- "--providers.docker=true"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.myresolver.acme.tlschallenge=true"
- "[email protected]" # ⚠️ 修改为你自己的邮箱地址
- "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json"
ports:
- "80:80"
- "443:443"
volumes:
- "./letsencrypt:/letsencrypt"
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- web
volumes:
n8n_data:
letsencrypt:
networks:
web:
external: false
EOF
五、配置域名解析
在你的域名服务商(如 Cloudflare)添加以下 DNS 解析记录:
类型 | 名称 | 值(服务器公网IP) | TTL | 代理状态 |
---|---|---|---|---|
A | n8n | 你的 VPS 公网 IP | 自动 | ⚪ DNS Only(灰云)✅ |
⚠️ 重要提醒:必须关闭 Cloudflare 的“代理状态”,变成灰色,否则自动签发证书会失败。
六、启动服务
拉起 n8n + Traefik 服务(后台运行):
docker-compose up -d
等待 30 秒左右,让 Traefik 自动为你的域名申请 HTTPS 证书。
查看是否成功:
docker ps
你应该能看到 n8n
和 traefik
两个容器运行中。
七、访问你的 n8n 控制台
打开浏览器,访问:
<https://n8n.example.com>
你会看到 n8n 的登录或注册界面,说明成功了 🎉
八、常见问题排查
问题 | 原因 | 解决方法 |
---|---|---|
页面打不开 | 域名未指向正确 IP | 检查 DNS |
显示“证书不安全” | 没签发成功 / 浏览器缓存 | 清除浏览器缓存,确认灰云生效 |
Traefik 日志显示 403 | Cloudflare 没关闭代理 | 改成 DNS Only,再重启容器 |
acme.json 没生成 | 目录权限错误或未申请成功 | 确认 traefik 配置正确,./letsencrypt 可写 |
九、如何更新 n8n 到最新版?
cd ~/n8n-docker
docker-compose pull
docker-compose down
docker-compose up -d
所有数据都保存在 n8n_data 卷中,不会丢失。
十、设置 n8n 开机自启动
sudo systemctl enable docker
确保容器中已设置:
restart: always
目录结构参考
~/n8n-docker/
├── docker-compose.yml
├── .env
├── letsencrypt/ <-- 证书保存在这里
└── n8n_data/ <-- 工作流数据保存路径
半自动安装
第一步:安装 Docker 和 Docker Compose
apt update && apt install -y curl
curl -fsSL <https://get.docker.com> | sh
安装 Docker Compose:
curl -L "<https://github.com/docker/compose/releases/latest/download/docker-compose-$>(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose version
第二步:下载GitHub 一键脚本
git clone https://github.com/usbog232/n8n-traefik-setup.git && cd n8n-traefik-setup
如果提示没有 git,请先安装:
apt install git -y
第三步:运行一键部署脚本
执行脚本:
chmod +x install-n8n.sh
./install-n8n.sh
它会依次提示你输入以下信息:
请输入你的邮箱(用于 HTTPS 证书): [email protected]
请输入你的域名(需要提前解析好到本 VPS): n8n.yourdomain.com
脚本在哪重新执行?
cd ~/n8n-traefik-setup
bash install-n8n.sh
想停止服务
docker-compose down
一键部署脚本:
bash <(curl -s https://raw.githubusercontent.com/usbog232/n8n-traefik-setup/refs/heads/main/install-n8n.sh)
重启整个服务
cd ~/n8n-docker
docker compose restart
gemini api 获取地址:https://aistudio.google.com/app/apikey
阅读量 186