nonebot-bison/docs/usage/install.md
dependabot[bot] ed0933038e
📝 文档迁移到 vuepress hope 主题 (#490)
* ⬆️ Bump the docs-update group with 3 updates

Bumps the docs-update group with 3 updates: [@vuepress/client](https://github.com/vuepress/core), [vue](https://github.com/vuejs/core) and [vuepress](https://github.com/vuejs/vuepress/tree/HEAD/packages/vuepress).


Updates `@vuepress/client` from 2.0.0-rc.0 to 2.0.0-rc.2
- [Release notes](https://github.com/vuepress/core/releases)
- [Changelog](https://github.com/vuepress/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuepress/core/compare/v2.0.0-rc.0...v2.0.0-rc.2)

Updates `vue` from 3.4.3 to 3.4.21
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.4.3...v3.4.21)

Updates `vuepress` from 2.0.0-rc.0 to 2.0.0-rc.8
- [Release notes](https://github.com/vuejs/vuepress/releases)
- [Changelog](https://github.com/vuejs/vuepress/blob/master/CHANGELOG.md)
- [Commits](https://github.com/vuejs/vuepress/commits/HEAD/packages/vuepress)

---
updated-dependencies:
- dependency-name: "@vuepress/client"
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: docs-update
- dependency-name: vue
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: docs-update
- dependency-name: vuepress
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: docs-update
...

Signed-off-by: dependabot[bot] <support@github.com>

* 💄 auto fix by pre-commit hooks

* 📝 使用 vuepress hope 主题

* 📝 更新文档中的过时内容

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Azide <rukuy@qq.com>
2024-03-18 18:37:17 +08:00

5.9 KiB
Raw Blame History

prev next
/usage/ /usage/easy-use

让拜松骑上自行车

本节将讲解如何部署 nonebot-bison 项目
使用部分介绍请看 简单使用 或者 详细配置

如何选择?

  • 没有其他需要,只想使用 Nonebot-Bison想以 Bison 的基础扩展其他插件?
    试试作为 Bot 使用
  • 已有项目,想要增加 Nonebot-Bison
    试试作为插件使用

作为插件使用

本部分假设大家会部署 nonebot2 ::: tip 看看别的! 参考教程 nonebot2 部署
参考视频教程 保姆级新手教学 - Well404 ::: ::: warning 防止环境冲突! 建议所有操作都在虚拟环境下进行,推荐使用poetry或者 python 自带的venv :::

使用 nb-cli 安装

  1. 安装nb-cli

    pipx install nb-cli
    
  2. 使用nb-cli执行在项目根目录执行

    nb plugin install nonebot-bison
    
  3. 在项目中添加依赖

    poetry add nonebot-bison
    

手动安装

  1. 安装 pip 包nonebot-bison ::: code-tabs @tab poetry

    poetry add nonebot-bison
    

    @tab pip

    pip install nonebot-bison
    

    :::

  2. pyproject.toml中导入插件nonebot_bison 编辑项目根目录下的pyproject.toml文件,添加如下内容:

    [tool.nonebot]
    plugins = [
      ... # 其他插件
      "nonebot_bison",
      ]
    

作为 Bot 使用

::: tip 额外提供

  • 自动同意超级用户的好友申请
  • 自动同意超级用户的加群邀请 :::

docker-compose 部署

  1. 首先创建一个新的空目录

    mkdir nonebot-bison && cd nonebot-bison
    
  2. 在目录中下载docker-compose.yml
    将其中的<your QQ>改成自己的 QQ 号

    ::: code-tabs#shell @tab linux

    wget https://raw.githubusercontent.com/felinae98/nonebot-bison/main/docker-compose.yml
    

    @tab windows

    Invoke-WebRequest -Uri https://raw.githubusercontent.com/felinae98/nonebot-bison/main/docker-compose.yml -OutFile docker-compose.yml
    

    :::

    部分片断:

        ...
          HOST: 0.0.0.0 # 0.0.0.0 代表监听所有地址
          # SUPERUSERS: '[<your QQ>]' #取消该行注释,并将<your QQ>改为自己的 QQ 号
          BISON_CONFIG_PATH: /data
          # BISON_OUTER_URL: 'http://<your server ip>:8080/bison'
          #取消上行注释,并将<your server ip>改为你的服务器 ipbison 不会自动获取 ip
          BISON_FILTER_LOG: 'true'
          BISON_USE_PIC: 'false' # 如果需要将文字转为图片发送请改为 true
        ports:
          - 8080:8080 # 容器映射的端口,如果需要修改请同时修改上面的 BISON_OUTER_URL
        ...
    

    ::: tip 想要指定更多配置请参考详细配置 :::

  3. 启动项目

    • 在目录中运行docker-compose up -d启动 Nonebot-Bison
    • 启动 Bot 端(这里请八仙过海)

docker 部署

Bison 的 docker 镜像为felinae98/nonebot-bison

在为服务器安装了docker后可以直接进行使用

docker pull felinae98/nonebot-bison

docker run -d --name nonebot-bison \
  -e SUPERUSERS='["<your QQ>"]' \
  -e BISON_CONFIG_PATH='/data' \
  -e BISON_OUTER_URL='http://<your server ip>:8080/bison' \
  -e BISON_FILTER_LOG='true' \
  -e BISON_USE_PIC='false' \
  -p 8080:8080 \
  felinae98/nonebot-bison

相关配置参数可以使用-e作为环境变量传入

直接运行

相当于进行了源码部署,或者说是开发模式的部署。

可以参考nonebot 的运行方法 ::: danger Bison 的 WebUI 是需要编译后才能使用的,直接克隆源代码需要自行编译前端,否则会出现无法使用管理后台等情况。 :::

本体安装

::: danger 本项目中使用了 Python 3.10 的语法,如果出现问题,请检查 Python 版本 :::

  1. 首先安装 poetry安装方法

  2. clone 本项目,在项目中poetry install安装依赖

    git clone https://github.com/felinae98/nonebot-bison.git
    cd nonebot-bison
    poetry install
    

WebUI 安装

  1. 安装包管理器 Bison 仓库中使用了pnpm作为包管理器,如果没有安装请先安装pnpm
    当然如果你因为一些原因不想使用pnpm,可以使用yarn或者npm进行安装

  2. admin-fronted目录中编译前端

    cd admin-frontend
    

    ::: code-tabs @tab pnpm

    pnpm install
    pnpm build
    

    @tab yarn

    yarn && yarn build
    

    @tab npm

    npm i
    npm build
    

    :::

构建完毕后dist 目录中生成的前端文件会自动移入nonebot_bison/admin_page/dist目录中,请前往检查

运行

::: info 注意 构建完前端后,请回到项目根目录 :::

  1. 编辑.env.prod配置各种环境变量,见Nonebot2 配置 :::tip 找不到 .env.prod .env.prod文件在项目根目录下,请确认当前目录为项目根目录 :::

  2. 启动 Bot

    poetry run nb run