分类
工具

宝塔面板部署 n8n , metabase 自动化基地全记录

VPS安装宝塔面板教程略
这里是从VPS安装宝塔面板之后。

第一阶段:环境准备(服务器与网络)
(1)安装 Docker:在装了宝塔面板登录宝塔后台在之后,宝塔系统会推荐你安装环境,这个时候选择最后那个安装docker (包含nginx)
(2)创建虚拟网络:在 Docker 管理界面创建一个名为 n8n-network 的网络,目的是让数据库和 n8n 能够通过容器名直接互联。
(3)解析域名:在域名服务商处将 n8n.域名.com 解析到服务器公网 IP。(这里IP就是安装宝塔访问链接那个IP)这个域名就是访问安装好后N8N的域名。

第二阶段:部署 PostgreSQL 数据库(数据仓库)
宝塔面板后台>Docker>容器>创建容器>选择手动创建>
容器名称:n8n-db
容器镜像:postgres:14
端口:暴露端口,添加: 本地端口:5432 容器: 5432
重启动规则:停止后马上重启
网络:n8n-network (上面创建虚拟网络)
挂载/映射:本机目录 挂载目录:/www/dk_project/postgres_data (最后这个文件如果没有就创建) 权限:读写 容器目录:/var/lib/postgresql/data (复制)
环境变量:
POSTGRES_USER: n8n_admin
POSTGRES_PASSWORD: 你的高强度密码
POSTGRES_DB: n8n_db

第三阶段:部署 n8n 主程序(自动化大脑)
宝塔面板后台>Docker>容器>创建容器>选择手动创建>
容器名称:n8n-app
容器镜像:n8nio/n8n:latest
端口:暴露端口,添加: 本地端口:5678 容器: 5678
重启动规则:停止后马上重启
网络:n8n-network (上面创建虚拟网络)
环境变量:
DB_TYPE = postgresdb
DB_POSTGRESDB_HOST = n8n-db(这里填刚才数据库的容器名称)
DB_POSTGRESDB_PORT = 5432
DB_POSTGRESDB_DATABASE = n8n_db
DB_POSTGRESDB_USER = n8n_admin
DB_POSTGRESDB_PASSWORD = 你的高强度密码
N8N_ENCRYPTION_KEY = 一段随机的长字母
WEBHOOK_URL = https://n8n.你的域名.com/ (这里是上面解析的域名)

第四阶段:反向代理与安全(让域名生效)
新建站点:在宝塔中新建网站 n8n.域名.com
(1)操作步骤:宝塔后台>后台>网站>php项目:添加站点 >传统项目,域名:n8n.域名.com 点“确定”即可
(2)部署 SSL:申请 Let’s Encrypt 免费证书并开启 “强制 HTTPS”。
(3)配置反向代理:
目标 URL 设为 http://127.0.0.1:5678。
添加 WebSocket 支持(Upgrade 协议),防止后台页面断线。
(4)放行防火墙:在宝塔和云服务器后台同时放行 5678 端口。

第五阶段:初始化进入
访问 https://n8n.域名.com/setup 注册管理员,正式进入画布。

部署安装 Metabase
(1)创立metabase_db 数据库
方法一:通过宝塔 Docker 终端执行(最快)
1.打开宝塔面板,进入 “Docker” -> “容器”。
2.找到你的数据库容器 n8n-db,点击右侧的 “终端”(Terminal)。
3.在弹出的黑窗口中,输入以下命令并回车(它会要求输入密码,输入你之前设置的 POSTGRES_PASSWORD):

psql -U n8n_admin -d n8n_db

(注意:-U 后面跟的是你的用户名,-d 后面是你现有的数据库名)
4.进入 psql 命令行模式后(左侧显示 n8n_db=#),输入以下 SQL 语句创建新数据库:

CREATE DATABASE metabase_db;

5.看到 CREATE DATABASE 提示后,输入 \q 退出即可。

方法二:通过宝塔“数据库”功能(可视化)
如果你觉得命令行麻烦,宝塔也支持可视化连接 Docker 内的数据库:
1.确认映射:确保你的 n8n-db 容器已经把 5432 端口映射到了服务器的 5432 端口。
2.添加数据库:在宝塔左侧菜单点击 “数据库” -> “PostgreSQL”(如果你没安装 PostgreSQL 管理插件,需要在软件商店安装一下)。
3.点击 “添加数据库”,在弹出的窗口中:
数据库名:metabase_db
用户名:n8n_admin
密码:你之前设置的密码
访问权限:选“所有人”或“指定IP”。
4.注意:这种方式本质上是宝塔作为客户端去连接 Docker。

(2)安装metabase
宝塔面板后台>Docker>容器>创建容器>选择手动创建>
容器名称:metabase
容器镜像:metabase/metabase:latest
端口:暴露端口,添加: 本地端口:3000 容器: 3000
重启动规则:停止后马上重启
网络:n8n-network (上面创建虚拟网络)
挂载/映射:本机目录 挂载目录:/www/dk_project/metabase_data(最后这个文件如果没有就创建) 权限:读写 容器目录:/metabase.db(复制)
环境变量:
MB_DB_TYPE = postgres
MB_DB_DBNAME = metabase_db
MB_DB_PORT = 5432
MB_DB_USER = n8n_admin
MB_DB_PASS = 你的密码
MB_DB_HOST = n8n-db (因为它们在同一个 n8n-network 网络)
MB_JETTY_HOST = 0.0.0.0 允许外部访问端口
MB_TIMEZONE = Asia/Shanghai 确保报表时间显示正确

(3)绑定域名访问metabase
跟上面解析域名,加SSL,再设置反代:如果你希望通过域名访问(如 os.域名.com),请参照之前 n8n 的方法:新建站点 -> 申请 SSL -> 设置反向代理到 3000 端口。
注意:这里面反向代理:设置目标 URL 为 http://127.0.0.1:3000 不要填写服务器的IP,上面N8N那个反向代理IP也是127.0.0.1 不要写服务器IP
然后输入:https://os.域名.com 就可以访问metabase

(4)metabase add your data 设置
1.第一次访问metabase里面有个添加数据库设置,设置如下:
字段名 填写内容 说明
Display name 中控台数据库 随便起个名字,方便你自己看
Host n8n-db 非常重要:直接填你的数据库容器名,不要填 IP
Port 5432 保持默认的 5432
Database name n8n_db 填入你存订单数据的那个数据库名(如果你之前把订单存到了这个库里)
Database username n8n_admin 之前设置的数据库用户名
Database password 你的密码 之前设置的数据库密码

2.两个关键开关(默认不用理)
SSL:如果你是在同一个 Docker 网络内连接,通常不需要开启 SSL 选项。
Automatically run queries:保持开启(这样你点击图表时会自动刷新)。

(4)metabase 语言 设置
Metabase 中文设置(非常友好)
Metabase 对中文的支持非常好,设置后整个报表界面都会变成中文。
登录 Metabase。
点击右上角的 齿轮图标 -> 选择 Admin settings(管理员设置)。
在左侧菜单点击 Localization(本地化)。
在 Language 下拉菜单中选择 Chinese (Simplified)(简体中文)。
在 First day of the week 选择 Monday(星期一,符合国人习惯)。

有偿部署:微信: abaoge0668 (加微信备注:安装N8N)

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

科学上网·梯子