宝塔面板部署

通过宝塔面板部署 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容器查看日志 配置环境变量 配置环境变量 配置环境变量


宝塔手动部署

前置准备

  • PostgreSQL:17.x
  • Redis:8.x 或 7.x
  • NodeJS:22.20.x
  1. 前往软件商店分别安装 Redis 8或7Node.js版本管理器
  2. 在Node.js 版本管理器中安装 22.x的版本,并设置命令行版本为改版本
  3. 按照下面步骤安装 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镜像源举例

### 解压源码

```bash
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;

切换到 fastbuild 数据库

\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和项目信息,说明环境准备完毕

  1. 进入到【站点】,切换到【Node项目】,点击【添加项目】 配置环境变量
  2. 选择PM2项目,添加方式选择【从文件/内容添加】,选择 www/wwwroot/buildingai/scosystem.config.js 配置文件 配置环境变量
  3. 填写端口号为.env配置的APP_DOMAIN,运行用户选择为root,勾选【放行端口】,绑定域名为.env中配置的APP_DOMAIN。

点击保存,等待项目启动 配置环境变量 配置环境变量

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

宝塔面板部署 | BuildingAI