邦邦机器人 Tsugu Bot V4.0 Linux 部署攻略
个人环境
惯例上一下个人的本地环境。
Ubuntu 22.04.1 LTS x86_64,Linux version 5.15.0-46-generic。
nodejs v18.16.0,npm 9.5.1
Docker version 25.0.0-beta.1, build 2b521e4
Docker 环境搭建
前期准备
因为本地环境是 Ubuntu,所有很多工具都是默认就安装了的,假如你的系统里工具不是很多,你需要先进行一些工具的安装,当然你也可以在执行之后的命令的同时缺什么再装什么。
我们可以先进行 apt 管理器的更新。
sudo apt-get update
#更新软件源缓存,从服务器更新可用的软件列表,一般在安装软件时引入新的软件仓库之后使用
sudo apt-get upgrade
#更新系统,即根据列表更新已安装的软件包,既不会删除在列表中已经不存在了的软件,也不会安装有依赖需求但尚未安装的软件
之后我们需要用到 curl
,假如你没有,则执行以下指令:
sudo apt install curl
使用官方安装脚本自动安装
使用以下指令:
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh
Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:
sudo apt-get remove docker docker-engine docker.io containerd runc
安装 Koishi
Koishi 是一款可以创建跨平台、可扩展、高性能的机器人的平台。
官网地址:https://koishi.chat/zh-CN/
我们在这里选择通过 Docker 安装:
根据官网的指南,我们只需要输入一行代码即可完成安装。
docker run -p 5140:5140 -e TZ=Asia/Shanghai koishijs/koishi
安装 tsugu-bangdream-bot
耐心等待 Koishi 安装完成后,请根据你 Ubuntu 主机的 ip 进入 Koishi 主页。
假如你的机器位于局域网中,请输入 http://局域网ip:5140/
。
假如有公网 ip 请输入 http://公网ip:5140/
(可能需要在服务商的安全组中开放对应端口访问权限)。
之后选择插件市场,搜索 tsugu-bangdream-bot
,并点击对应插件下方的安装。
笔者没有选择 QQ bot 适配器,选择的是 Telegram 适配器,假如需要使用 QQ bot,请按照官方教程进行相应的配置。
官方教程:https://www.bilibili.com/read/cv24464090/
安装完 tsugu-bangdream-bot
就可以启动了,默认的后端是官方后端。
当然,假如你像我一样已经有了 vps,那可以考虑自己部署属于自己的 Tsugu bot 的后端。
自部署 Tsugu Bot 后端
前提,笔者的环境为 64位 Linux,Windows 环境请参考官方教程。
你需要先把官方的源码下载到本地,我们这里使用 git
git clone https://github.com/Yamamoto-2/tsugu-bangdream-bot
环境准备
因为自部署需要 node.js 环境,所以我们需要先行准备环境。
根据官方开发环境,我们最好选择对应的 node.js 环境。
为了安装对应的环境,我们这里选择 node 版本管理器 nvm。
顾名思义,nvm 是一种用于管理设备上的 node 版本的工具。
你设备上的不同项目可能使用不同版本的 Node.js。对这些不同的项目仅使用一个版本(由 npm 安装的版本)可能无法为你提供准确的执行结果。
我们需要执行以下命令进行安装:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
之后我们需要刷新一下终端以使用 nvm:
source ~/.bashrc
然后我们可以用以下命令检测是否可以使用:
nvm -v
假如返回 0.39.3
则已安装成功。
然后我们用 nvm 来安装对应版本的 nodejs:
nvm install v18.16.0
再检测一下 nodejs 和 npm 的版本:
node -v
npm -v
之后我们需要安装 ts-node 和 pm2
npm install -g ts-node
npm install -g pm2
本地构建,部署后端
我们通过 cd /tsugu-bangdream-bot/backend
进入 /backend
目录,在构建之前,我们需要手动改一下文件,因为 Linux 环境下的路径使用的是正斜杠 /
,而 Windows 下使用的是反斜杠 \
。
Windows 使用反斜杠来分割路径,继承自DOS,DOS的前身也就是CP/M。DOS 1.0刚出来时,只支持软盘,并且不支持目录结构。而这时DOS命令已经使用了正斜杠来作为命令参数的起始符号。后来DOS加入了目录结构支持,为了不与命令参数符号冲突,使用了反斜杠来作为目录分隔符。
我们需要手动修改 /backend
目录下的 ecosystem.config.js
文件。
module.exports = {
apps: [
{
name: 'tsugu-backend',
script: 'ts-node',
// ubuntu 环境下需要将路径改为以下方式
args: '--transpile-only ./src/app.ts',
// 修改之前的如下所示
// args: '--transpile-only .\\src\\app.ts',
interpreter: 'none',
exec_mode: 'fork',
instances: 1,
autorestart: true,
watch: false,
max_memory_restart: '1G',
},
]
}
修改完成后在 /backend
目录内运行以下命令:
pm2 start ecosystem.config.js
稍等片刻就可以完成 Tsugu Bot 后端的部署了。
你可以通过 pm2 list
查看运行状况,也可以通过 pm2 logs --lines 1000
查看是否有 Error 产生。
默认的端口号为 3000
,你也可以访问后端地址 http://对应的ip:3000/
查看是否显示 404 Not Found
,假如显示了则运行正常。
记得回 Koishi 的 tsugu-bangdream-bot
机器人配置那里把后端改成自己的哦~。
当然你也可以用我的捏😋😋http://bangdream.anonstarlight.top
- 感谢你赐予我前进的力量