宝塔面板部署

通过宝塔面板部署 BuildingAI

宝塔面板部署

通过宝塔面板部署 BuildingAI

本教程包含 宝塔手动部署宝塔Docker部署

统一前置准备

最低配置要求

  • CPU:≥2核(建议4核)
  • 内存:≥4GB RAM(建议8GB)
  • 存储:≥5GB 空闲空间

Git安装(如果已安装可跳过)

Ubuntu / Debian系统

sudo apt update
sudo apt install -y git

CentOS / AlmaLinux / RockyLinux / RHEL 系列安装git

sudo yum install -y git

验证是否安装

git --version
# 输出版本信息则说明安装成功
# git version 2.xx.x

获取源码

进入 www/wwwroot 目录,打开宝塔终端,执行以下命令:

cd /www/wwwroot
git clone https://gitee.com/BidingCC/BuildingAI.git ./buildingai
# 或者
git clone https://github.com/BidingCC/BuildingAI.git ./buildingai

配置环境变量

cd /www/wwwroot/buildingai
cp .env.example .env

方式一

vi .env

i 进入编辑模式,然后根据自身配置修改 APP_DOMAIN 环境变量为准备部署的域名,例如 https://example.com。修改完后记得按 ESC 然后输入 :wq 保存退出。

方式二

手动双击 .env 文件进行同上对应修改并保存文件。

如果前端需要请求其他域名,需要修改 .env 中的 VITE_PRODUCT_APP_BASE_URL,只请求本站则留空即可。

开始安装

宝塔 Docker 部署

确保面板已安装 Docker 软件

docker -v
# 输出下面内容表示已安装
# Docker version 28.x.x

启动项目

cd /www/wwwroot/buildingai
docker compose up -d

等待约1~2分钟完全拉取镜像后,等待项目构建,可执行以下命令查看进度:

docker logs buildingai-nodejs

也可以通过宝塔可视化面板进入 buildingai-nodejs 容器查看日志。

创建反代网站

恭喜你,BuildingAI 已经成功部署且上线,你可以通过刚刚配置的域名访问 BuildingAI 了!

宝塔手动部署

前置准备

  • PostgreSQL:17.x
  • Redis:8.x 或 7.x
  • NodeJS:22.20.x

前往软件商店分别安装 Redis 8或7 和 Node.js版本管理器

在 Node.js 版本管理器中安装 22.x 的版本,并设置命令行版本为该版本

按照下面步骤安装 PostgreSQL:

cd /tmp
# 清华大学pgsql镜像源
wget https://mirrors.tuna.tsinghua.edu.cn/postgresql/source/v17.6/postgresql-17.6.tar.gz
# 或者
# 阿里镜像源
wget https://mirrors.aliyun.com/postgresql/source/v17.4/postgresql-17.4.tar.gz

下面以清华大学17.6镜像源举例:

解压源码

tar -zxvf postgresql-17.6.tar.gz
cd postgresql-17.6

编译安装(启用 uuid 支持)

# 这里的/www/server/pgsql是你宝塔安装的pgsql的目录,一般是/www/server/pgsql
./configure --prefix=/www/server/pgsql --with-uuid=e2fs
make && make install

如果提示缺少uuid相关依赖则执行进行安装:

sudo apt install -y uuid-dev

编译所有官方内置拓展

cd contrib
make && make install

安装第三方拓展

zhparser(中文分词)
cd /tmp
git clone https://github.com/amutu/zhparser.git
cd zhparser
make && make install

如果报scws有关的错那就先安装下面的scws依赖:

cd /tmp
wget https://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2
tar xjf scws-1.2.3.tar.bz2
cd scws-1.2.3
./configure --prefix=/usr/local/scws
make && make install

这里如果报No such file or directory,那就执行以下命令进行构建:

make PG_CONFIG=/www/server/pgsql/bin/pg_config SCWS_HOME=/usr/local/scws
make install
make PG_CONFIG=/www/server/pgsql/bin/pg_config

编译没错误之后重新进入zhparser进行编译:

cd /tmp/zhparser
make PG_CONFIG=/www/server/pgsql/bin/pg_config SCWS_HOME=/usr/local/scws
pgvector(向量搜索)
cd /tmp
git clone https://github.com/pgvector/pgvector.git
cd pgvector
make && make install

激活拓展(统一在 buildingai 数据库中执行)

切换到 psql 控制台
psql -U postgres -h localhost
创建 buildingai 数据库(如果还没有)
CREATE DATABASE buildingai;
切换到 buildingai 数据库
\c buildingai
激活需要的拓展
-- 官方内置拓展
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
-- 中文分词
CREATE EXTENSION IF NOT EXISTS zhparser;
-- 向量搜索
CREATE EXTENSION IF NOT EXISTS vector;

到目前为止,环境已准备完毕

部署项目

进入项目目录,执行预部署脚本:

cd /www/wwwroot/buildingai
pnpm predeploy

直到打印出 BuildingAI 的 logo 和项目信息,说明环境准备完毕。

进入到【站点】,切换到【Node项目】,点击【添加项目】

选择 PM2 项目,添加方式选择【从文件/内容添加】,选择 www/wwwroot/buildingai/scosystem.config.js 配置文件

填写端口号为 .env 配置的 APP_DOMAIN,运行用户选择为 root,勾选【放行端口】,绑定域名为 .env 中配置的 APP_DOMAIN

点击保存,等待项目启动

可以在 PM2 监控中查看项目状态和运行日志,状态为运行中说明项目启动成功