适合新手小白入门,所有步骤依次执行即可完成 n8n 基础环境、部署、HTTPS 通信配置、ngrok 自动化更新管理。
一、基础环境配置 (Ubuntu Server)
1.1 更新系统
sudo apt update && sudo apt upgrade -y
1.2 安装 Docker + docker-compose
sudo apt install -y docker.io docker-compose unzip curl jq
sudo systemctl enable docker --now
1.3 验证是否安装成功
docker --version
docker-compose --version
二、部署 n8n (Docker 版)
2.1 创建目录
mkdir -p /root/n8n && cd /root/n8n
2.2 编辑 docker-compose.yml
nano docker-compose.yml
内容填写:
version: "3.7"
services:
n8n:
image: n8nio/n8n
restart: always
ports:
- "5678:5678"
environment:
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=admin
- N8N_BASIC_AUTH_PASSWORD=yourpassword
- N8N_HOST=localhost
- N8N_PORT=5678
- WEBHOOK_URL=https://placeholder.ngrok-free.app
- WEBHOOK_TUNNEL_URL=https://placeholder.ngrok-free.app
- TZ=Asia/Shanghai
volumes:
- /root/n8n/n8n_data:/home/node/.n8n
请把
yourpassword
换成你自己设置的密码
2.3 启动 n8n
cd /root/n8n
docker-compose up -d
2.4 正常启动后,访问地址:
http://<Ubuntu IP>:5678
输入你的 admin 账号密码登陆。
三、安装 ngrok 实现 HTTPS
3.1 下载 ngrok
wget https://bin.equinox.io/c/bNyj1mQVY4c/ngrok-stable-linux-amd64.zip -O ngrok.zip
unzip ngrok.zip
mv ngrok /usr/local/bin/
chmod +x /usr/local/bin/ngrok
3.2 注册并访问 dashboard
创建个人账号
备份 authtoken
3.3 配置 token
ngrok config add-authtoken <备份你的 token>
3.4 启动 ngrok 管道 (http)
ngrok http 5678 > /root/ngrok.log 2>&1 &
四、查看当前 ngrok URL
4.1 显示 ngrok URL 的命令
curl -s http://127.0.0.1:4040/api/tunnels | grep -o 'https://[a-zA-Z0-9.-]*.ngrok-free.app' | head -n 1
4.2 将命令简化成 ngrok-url
echo 'curl -s http://127.0.0.1:4040/api/tunnels | grep -o "https://[a-zA-Z0-9.-]*.ngrok-free.app" | head -n 1' > /usr/local/bin/ngrok-url
chmod +x /usr/local/bin/ngrok-url
既可:
ngrok-url
五、自动更换 ngrok 地址脚本 + 重启 n8n
5.1 新建脚本 /root/n8n/update_ngrok_and_restart.sh
nano /root/n8n/update_ngrok_and_restart.sh
填入:
#!/bin/bash
set -e
COMPOSE_FILE="/root/n8n/docker-compose.yml"
NGROK_API="http://127.0.0.1:4040/api/tunnels"
NGROK_URL=$(curl -s $NGROK_API | grep -o 'https://[a-zA-Z0-9.-]*.ngrok-free.app' | head -n 1)
if [[ -z "$NGROK_URL" ]]; then
echo "\ud83d\udeab \u65e0\u6cd5\u83b7\u53d6 ngrok \u5730\u5740"
exit 1
fi
echo "\u2705 \u5f53\u524d ngrok \u5730\u5740:$NGROK_URL"
sed -i "s|WEBHOOK_TUNNEL_URL=.*|WEBHOOK_TUNNEL_URL=$NGROK_URL|" "$COMPOSE_FILE"
sed -i "s|WEBHOOK_URL=.*|WEBHOOK_URL=$NGROK_URL|" "$COMPOSE_FILE"
cd /root/n8n
docker-compose down
docker-compose up -d
echo "\ud83c\udf89 n8n \u91cd\u542f\u5b8c\u6210,ngrok 地\u5740已更新\uff01"
5.2 设置权限 + 执行
chmod +x /root/n8n/update_ngrok_and_restart.sh
/root/n8n/update_ngrok_and_restart.sh
六、一键完整操作流程
cd /root/n8n
nohup ngrok http 5678 > /root/ngrok.log 2>&1 &
sleep 2
/root/n8n/update_ngrok_and_restart.sh
这样会自动获取 ngrok HTTPS 地址,并替换到 docker-compose.yml 里面,重启 n8n
阅读量 127