Skip to content

部署流程

神代綺凛 edited this page Oct 16, 2024 · 91 revisions

0. 概况

本项目可以连接支持 OneBot 11 标准的机器人客户端,例如 NapCatQQLagrange

本项目使用正向 WebSocket 连接方式

本项目支持 docker 部署,参见Docker部署

以下以 NapCatQQ 为例

1. NapCatQQ

Windows 建议直接使用 NapCat 官方提供的 NapCatQQ-Desktop 启动器

Linux 建议使用 NapCat-Docker 进行部署

下面是 docker compose 部署的参考配置,请根据官方说明和你自己的情况进行修改

services:
  napcat:
    environment:
      # 你的QQ号
      ACCOUNT: 1234567890
      NAPCAT_UID: 0
      NAPCAT_GID: 0
      # NapCat 的管理页面密码,务必设置
      WEBUI_TOKEN: xxxxxxxxxxxxx
      WS_ENABLE: true
      # WebSocket 端口,可自行修改,确保跟本项目配置一致
      WS_PORT: 8080
      F2U_ENABLE: true
      MESSAGE_POST_FORMAT: string
    volumes:
      # 部署前先创建下面三个文件夹
      # mkdir QQ config logs
      - ./QQ:/app/.config/QQ
      - ./config:/app/napcat/config
      - ./logs:/app/napcat/logs
      # 某些功能需要发送本地文件,需要将本项目的 data/cache 目录也映射进去,请改成你自己的路径
      - /PATH_TO_CQPS/data/cache:/PATH_TO_CQPS/data/cache
    container_name: napcat
    # 这里使用 host 网络模式,因为某些功能需要请求本项目在本地启动的 HTTP 服务
    # 如果你不打算使用 setu 功能且希望与官方教程一样使用 bridge 模式,那么请自行补充端口映射
    network_mode: host
    restart: always
    # 每次启动都确保镜像最新,如果不要可以去掉
    pull_policy: always
    image: mlikiowa/napcat-docker:latest
    logging:
      options:
        max-size: 50m

部署完成后参考官方文档用 WebUI 进行登录和设置

2. Node.js

Node.js 推荐版本 20

Windows 安装时请注意勾选安装 build tools

Linux 请参照此处来安装

bun

本项目也支持使用 bun 运行,bun 是一个更快的 js 运行时和包管理器,具体安装及使用方法请看官网,若使用 bun 则无需安装 Node.js

不过本项目尚未增加 bun 专用的进程守护脚本,且不支持一键更新,另外 bun 也尚未完全兼容 Node.js 所以可能有意外发生,仅建议尝鲜使用

3. 部署本项目

部署过程示例:

git clone https://github.com/Tsuk1ko/cq-picsearcher-bot.git cqps --depth=1
cd cqps
cp config.default.jsonc config.jsonc

# 安装依赖(选择下列其中一种方式即可)

## (1) 一般情况下
npm i --production

## (2) 更推荐使用 yarn
npm i -g yarn
yarn --production

## (3) 如果在国内部署,可以像这样设置使用淘宝镜像再 install

### (3.1) 使用 npm
npm config set registry https://registry.npmmirror.com --global
npm config set disturl https://cdn.npmmirror.com/binaries/node --global
npm i --production

### (3.2) 使用 yarn
npm config set registry https://registry.npmmirror.com --global
npm config set disturl https://cdn.npmmirror.com/binaries/node --global
npm i -g yarn
yarn --production

注意此处(第三行)是将 config.default.jsonc 复制一份,重命名为 config.jsonc,然后编辑 config.jsonc 文件来配置本程序,不可以删除 config.default.jsonc 或直接对其改名

配置文件说明

配置完成后先启动 go-cqhttp 再运行本程序

初次尝试部署建议直接使用npm run test命令直接前台启动,可以直接看到运行日志,如果有错误能方便地查看报错日志

修改配置后无需重启,可以使用配置热重载指令

确保使用上述命令执行没有发生错误后,结束前台进程,再使用下述后台守护方式运行

# 运行
npm start

# 停止
npm stop

# 重启
npm restart

# 查看日志(平时日志也会保存在 logs 文件夹内)
npm run log

# 停止 pm2 进程
npm run kill

启动报错

常见问题-错误排查

更新

检查更新

程序默认每隔一天检查一次更新,发现新版本会私聊 bot.admin 通知,你可以修改 bot.checkUpdate 配置项来更改检查频率或关闭自动检查更新

检查更新仅作检查,并不会自动进行更新,更新操作仍然需要手动完成

手动更新

你之前用哪个包管理器就用哪个来执行安装依赖的命令,不建议 npm 与 yarn 混用

npm stop
git pull
npm i --production # 或 yarn --production

阅读更新日志,如果配置文件有变更,可根据说明和自己的需要对照config.default.jsonc来更新你的config.jsonc,未配置的设置项将会取config.default.jsonc中的配置值

确认无误后启动程序

npm start

一键更新

你也可以通过以下命令一键更新(会自动完成上述停止、更新、启动操作)

# 自动检测包管理器,如果含有 package-lock.json 则使用 npm,否则使用 yarn
npm run update

# 会使用 npm 安装依赖
npm run update:npm

# 会使用 yarn 安装依赖
npm run update:yarn

若需修改配置,修改完后使用配置热重载指令即可