主机资讯与使用指南
n8n Docker 部署:持久化数据、域名与 Webhook 配置
用 Compose 运行 n8n,保留工作流数据,并配置 HTTPS 域名和正确的 Webhook 地址。
准备 Docker 和一个独立子域名
n8n 自建可以把工作流与凭据保存在自己的服务器。本文使用 SQLite 数据卷和外部 Caddy 反向代理,适合先运行一个实例;已有面板或其他代理时,由现有入口提供 HTTPS,不再安装第二套代理。
创建 compose.yaml
建立 ~/n8n 目录,把下面配置保存为 compose.yaml,并把 n8n.example.com 换成自己的域名。镜像使用稳定版本标签,首次部署后记录实际版本。
services:
n8n:
image: docker.n8n.io/n8nio/n8n:stable
restart: unless-stopped
ports:
- "127.0.0.1:5678:5678"
environment:
N8N_HOST: n8n.example.com
N8N_PORT: "5678"
N8N_PROTOCOL: https
WEBHOOK_URL: https://n8n.example.com/
GENERIC_TIMEZONE: Asia/Shanghai
TZ: Asia/Shanghai
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
N8N_PROXY_HOPS: "1"
volumes:
- n8n_data:/home/node/.n8n
volumes:
n8n_data:启动应用并配置域名入口
mkdir -p ~/n8n
cd ~/n8n
sudo docker compose config --quiet
sudo docker compose up -d
sudo docker compose logs --tail=100创建目录后先保存 compose.yaml,再执行后面三条命令。Caddy 的域名配置指向 127.0.0.1:5678;域名 DNS 指向 VPS,80、443 端口由 Caddy 承接。示例假定只有一层反向代理,多层代理时按实际链路调整 N8N_PROXY_HOPS。
首次进入编辑器,建立一个测试工作流
通过 HTTPS 域名打开 n8n,创建自己的管理账号。先建一个简单触发器和返回结果的工作流,确认编辑器能保存,再接入正式凭据。
对外回调使用生产 Webhook 地址,并按 n8n 的工作流发布方式启用。测试 URL 与生产 URL 用途不同,第三方回调不能长期填写临时测试地址。
备份工作流和加密密钥
n8n_data 保存数据库与加密相关数据。只导出工作流 JSON,不能完整恢复凭据;备份数据卷,并保留自定义设置的加密密钥。
升级前先备份,再拉取选定版本。遇到回调失败时检查 WEBHOOK_URL、HTTPS 和外部可访问性;编辑器可以打开,不代表第三方服务一定能访问回调地址。