背景

群辉”垃圾“(别的很是很香的)

  • 没错,群辉的 gui 操作确实很强,超级强;但是他的包管理,他的命令限制太多了;根本没有一个好用的包管理软件,而你可能会说可以安装 ipkg 鸭;但是你知道吗,ipkg 也是个年久失修的玩意了。
  • 是否受够了每次修改傻妞等都要远程 ssh 链接到群辉里,然后从普通用户切换到 root 提权,然后一通 cd,最后还要用 vim 来修改你想改的文件
  • 是否受够了群辉”垃圾“的设定。系统分区就给 2.3G,动不动就爆满,满了以后还不敢乱搞。毕竟可能一搞坏了就是半条命
  • 是否受够了群辉是不是抽风的 wget·········

新出路

  • 昨天在帮一个朋友远程的时候,他的群辉 wget 死活不行了,群辉官方说重置系统,但是他舍不得,我就帮他用 docker 里的 ubuntu 用 wget 下载了一键安装板最新的傻妞,然后转移到了他安装的地方,受此启发,想到了用 ubuntu 接管整个傻妞跟 onebot
  • 在群辉的 docker 里部署一个 ubuntu,然后整个傻妞跟傻妞需要的 node-onebot 等全放 ubuntu 中,这样不但好管理,而且好备份等
  • 大体思路就是这样了,其实听到这里,已经有很多人可以自己操作去了,我为了方便跟我一样的小白,还是啰嗦啰嗦,写一遍教程吧,可能有没提到的地方,也请大佬们指教了

优缺点

优点

  • 上面已经说了很多了,方便管理、部署、备份等
  • 不在依赖群辉的系统空间,也省去了 ssh 链接群辉的必要,减少了误操作引起群辉问题的几率
  • docker 的 ubuntu 是超级轻量的,一个完整的最新包仅仅 27m,解压后仅仅 73mimage-20211211190502028image-20211211190533044
  • 这就是 docker 的优点了,超级轻量(同时也意味着很多东西需要自己安装;不要怕,我们有 apt)
  • 部署后超级轻量,占用很低image-20211211190741649
  • 还有就是可以吧你需要的文件夹挂载出来,这样就可以在群辉的File Station里面进行界面的操作了,更改傻妞配置什么的也不需要 ssh 使用命令修改了
  • 暂时就这么多吧······

缺点

  • 可能有人觉得这是套娃 🪆,但是我觉得这样做是有意义的(绝不是水文章)
  • 别的就是可能第一次安装稍微有些麻烦了吧,因为你要安装你要的环境等
  • 暂时想不到了······

说干就干,开搞

首先,你需要搞个 ubuntu

  • 这个直接群辉 docker——注册表——搜索ubuntu——直接拉最新版即可(或者你喜欢那个拉那个)image-20211211191547909

  • 安装时选择高级设置

    • 勾选下自动启动,这样群辉重启后会自动运行这个,虽然还要手动运行傻妞image-20211211191652126

    • 按照你的需要自行映射下文件夹(不能把整个 etc 目录映射,又出现奇怪的 bug),这里在啰嗦下,有的还是不太明白傻妞会占用两个目录

      1. 使用一键安装板的傻妞的时候,除了在你执行的目录创建一个 sillyGirl 目录外,还会在/etc/sliiyGirl生成一个配置文件夹
      2. 例如:
        1. 我在/home目录下执行了傻妞一键安装的命令
        2. 这样 在我的/home/sillyGirl下会生成傻妞的文件目录如下image-20211211192356093
        3. 与此同时,在etc/sillyGirl目录下也会生成傻妞的文件夹。目录如下image-20211211192543456
        4. 这就是你删除了安装目录的傻妞,配置还没丢失的原因;也就是我做这个映射的原因
        5. 我的傻妞、onebot oicq 都会在home目录执行,然后/etc/sillyGirl映射可以 gui 修改傻妞配置,root 映射方便修改 oicq 配置文件
      • image-20211211191734629
    • 端口设置: 选择你想用的傻妞端口即可(同时不能与已有端口重复)image-20211211192904163

  • 这样就安装完了,是不是超级简单

环境配置

首先,我们再来顺一下需要什么东西

  • 安装傻妞-----需要 wget
  • 拉取 onebot 我们需要 git(使用 oicq,暂时不需要了)
  • 使用 node-onebot-----需要 node npm
  • 使用 oicq-----需要 node npm
  • 修改文件----需要 nano(vim)等编辑器
  • 最后就是 pm2----用来守护我们的 oicq sillyGirl 等程序

那就开始吧

  • 那就先安装 wget
    • 首先,执行apt update 更新下软件包列表
    • 在执行apt -y install wget这样就可以安装好了 wget ✅
  • 然后是 git
    • 执行apt -y install git这样就可以安装好了 git ✅
  • 然后是 node(放弃 nvm 方法,使用 n 安装管理 node)
    • 首先apt -y install npm 安装一个基础版本的 npm(时间有点长,耐心等待)
    • 然后我们使用 npm 安装n管理 node
    • 使用npm install -g n安装n
    • 然后检查n是否安装 n --versionimage-20211215223938327
    • 成功后就可以方便的安装 node 了
    • 使用n lts 即可安装 Node.js lts (长期服务)版本—v16.13.1 版本(可能版本号不对,因为写的时候这个就是最新的)
    • node 是包含 npm 的,此时你可以使用npm -v测试是否成功(npm -v 报错的重启 ubuntu 即可解决)
    • 这样你的 node 也安装好了 ✅
  • 顺便安装几个编辑器吧
    • 这个直接使用 apt 即可
    • 安装 nano apt -y install nano
    • 安装 vim apt -y install vim
    • 安装过程遇到选地区的请自行选择(没记错的话 6 亚洲 70 上海)
    • 这样你的 nano vim 也安装好了 ✅
  • 最后就是安装 pm2 了
    • 是不是想直接apt -y install pm2了 年轻了;我们需要使用 npm 安装
      • 请执行 **npm install -g pm2**即可安装
      • 执行**pm2 -v**即可检查是否安装成功
  • 这样环境就安装的差不多了(不够的自己安装.命令百度一把一把的)

这样我们先来配置傻妞

  • 首先 cd 到你想安装的文件夹 我安装在home目录下 执行 cd /homeimage-20211211201504317

  • 然后国内用户执行 set sillyGirl download_prefix https://ghproxy.com/(使用 git 代理加速下载)()(已经不需要了)

  • 在执行下面的命令,即可一键安装傻妞到/home 目录下(同时/etc/sillyGirl文件夹下也会生成配置文件)(如果命令不能用请自行获取最新:tg)

    1
    s=sillyGirl;a=arm64;if [[ $(uname -a | grep "x86_64") != "" ]];then a=amd64;fi ;if [ ! -d $s ];then mkdir $s;fi ;cd $s;wget http://github.yanyuge.workers.dev/https://github.com/cdle/${s}/releases/download/main/${s}_linux_$a -O $s && chmod 777 $s;pkill -9 $s;$(pwd)/$s
  • 下面如果你想全新安装傻妞,可以跳过配置文件拷贝部分;你想使用原来的配置文件 请继续往下看

  • ############配置文件拷贝部分开始#################

  • 首先删除所有生成的配置文件 rm -rf /etc/sillyGirl 这样你这个文件夹以及文件夹内的所有文件都会被删除

  • 然后 ssh 链接到你的群辉 执行这个命令

    • cp -r /etc/sillyGirl /volume1/docker/ubunu/etc/sillyGirl

      命令解释 cp -r A B

      • A B 为两个地址
      • A B 之间有空格
      • A 是需要复制的文件地址
      • B 是要复制到哪里去
      • 请根据自己的实际位置修改命令
      • 具体请看 菜鸟教程
  • ############配置文件拷贝部分结束#################

  • 这样你就已经把傻妞完整的迁移到了 docker 里的 ubuntu

  • 执行cd /home/sillyGirl cd 到傻妞文件夹(根据自己目录更更改.跟我一样无需更改)

  • 然后执行./sillyGirl即可运行傻妞.与你群辉的没有差异

  • 还请你记得这里的傻妞 http 服务端口,后面的 onebot 需要使用(端口号要统一)port

  • 傻妞完结撒花

然后我们配置node-onebot oicq

  • cd /home cd 到你要安装的目录

  • 打开后克隆这个仓库

    git clone https://ghproxy.com/https://github.com/takayama-lily/node-onebot.git

    然后就会有很多文件会出现在 node-onebot 这个文件夹 📂 里

  • 然后重点来了

    • cdnode-onebot cd 到这个目录下

    • 新建一个 config.js 文件(后面命令找不到会自动新建,所以跳过)

    • nano config.js使用 nano 编辑器打开(没有会新建)config.js 文件

    • 然后保存空文件-----按 ctrl+o 然后回车确认修改的内容;然后 ctrl+x 推出编辑器

    • 直接使用群辉的文本编辑器打开 config.js 进行编辑(ununtu 的中文可能乱码,百度一堆解决办法;我就不放链接了,直接使用群辉的编辑器)

    • 粘贴上模板配置文件,下面引用大佬的模板及说明

    • module.exports = {
        //通用配置
        general: {
          platform: 1, //1:安卓手机 2:aPad 3:安卓手表 4:MacOS 5:iPad
          debug: false, //开启debug
          use_cqhttp_notice: true, //是否使用cqhttp标准的notice事件格式
          host: "localhost", //监听主机名
          port: 5700, //端口
          use_http: false, //启用http
          use_ws: false, //启用正向ws,和http使用相同地址和端口
          access_token: "", //访问api的token
          secret: "", //上报数据的sha1签名密钥
          post_timeout: 30, //post超时时间(秒)
          post_message_format: "array", //"string"或"array"
          enable_cors: false, //是否允许跨域请求
          enable_heartbeat: false, //是否启用ws心跳
          heartbeat_interval: 15000, //ws心跳间隔(毫秒)
          rate_limit_interval: 500, //使用_rate_limited后缀限速调用api的排队间隔时间(毫秒)
          event_filter: "", //json格式的事件过滤器文件路径
          post_url: [
            //上报地址,可以添加多个url
            // "http://your.address.com:80",
          ],
          ws_reverse_url: [
            //反向ws地址,可以添加多个url
            "ws://localhost:8080/qq/receive",
          ],
          ws_reverse_reconnect_interval: 3000, //反向ws断线重连间隔(毫秒),设为负数直接不重连
          ws_reverse_reconnect_on_code_1000: true, //反向ws是否在关闭状态码为1000的时候重连
        },
        //每个账号的单独配置(用于覆盖通用配置)
        147258369: {},
      };
      
    • 我的配置如下(仅供参考)!

    • 第一个:模式 使用 1-安卓 会把自己的 qq 挤下线;使用 2-ipad 正常 其他未测试

    • 第二个:地址 这里填你傻妞的地址(分几种请情况)

      • (1)同一台设备 默认 127.0.0.1(localhost)即可,自己改端口 (不对请指教)
      • (2)在同一局域网中 跟我格式一样即可 填局域网 ip+端口 后面默认
      • (3)在不同的网络下,请直接填写相应的 ip+端口
  • 设置完以后 自己保存;这样 onebot 也部署完成了

  • oicq 配置 onebot 的可以借鉴(基本没用了)

  • 安装 oicq 执行npm i -g oicq@1 即可完成安装

  • 安装完成 oicq 后,先执行oicq XXXXX 命令,系统会生成默认配置文件

  • 配置文件一般在/root/.oicq文件夹 📂 内 ,名字是config.js

  • 我们通过vim nano等编辑器编辑这个config.js文件(也可以去前面映射的群辉文件夹自己更改)

  • 我的文件(参考下)image-20211215231745783

傻妞与onrbot oicq 联动

  • 现在需要配置的基本完成了,到了关键的时候了
    • 首先-----cd /home/sillyGirl cd 到傻妞的路径下
    • 手动运行傻妞 ./sillyGirl
    • 然后可以看到傻妞开放 http 服务的通知,记得跟你上面 config.js 的端口对应上;不对应的去你映射的/etc/sillyGirl修改傻妞的 sets.conf 配置文件(没有的话新建:并按照小姐姐教程填写)
    • 重新启动,直到你的端口对应起来 傻妞的端口----你 ununtu 开放的端口-----onebot 的端口(我的图片之前的.别太较真)image-20211208213541658
    • 然后执行 oicq XXXXXXX (XXXXX 是你的 qq 号,记得跟config.js里的对应)
    • 然后就会跑代码,然后就是扫码登录(出现连接不上服务就多试几次就可以了)
    • 然后看到反向 ws 代理连接成功就证明联动成功了
    • 然后,然后,然后 没有然后了;快去查询试试吧

使用 pm2 守护我们的onebot oicq

  • 好不容易安装好的,不能让他轻易死掉呀
  • 首先 ctrl + c关闭onebot oicq
  • 执行 pm2 start "oicq QQ号"即可image-20211215232202882
  • 如果有多个机器人,请手动运行下 oicq QQ号后,确认没问题后, 在使用 pm2 守护

使用 pm2 守护我们的傻妞

  • 不能只守护 onebot,傻妞也需要我们守护下呀
    • cd 到傻妞的目录,然后pm2 start "./sillyGirl"image-20211215232702332
    • 确认下是否成功 pm2 list,看到傻妞的进程就是成功了image-20211215232724453

然后就是开启 pm2 开机启动与保存守护列表

  • 执行pm2 startup 可以创建 pm2 的开机自启动
  • 执行pm2 save 保存当前应用列表
  • 执行pm2 resurrect 重新加载保存的应用列表
  • 其他常用 pm2 命令
    • pm2 list 列表 PM2 启动的所有的应用程序
    • pm2 monit 显示每个应用程序的 CPU 和内存占用情况
    • pm2 logs 显示所有应用程序的日志
    • pm2 logs [app-name] 显示指定应用程序的日志
    • pm2 stop all 停止所有的应用程序
    • pm2 stop 0 停止 id 为 0 的指定应用程序
    • pm2 restart all 重启所有应用
    • pm2 delete all 关闭并删除所有应用
    • pm2 delete 0 删除指定应用 id

完结撒花

  • 撒花 撒花 撒花
  • 终于完了呀,码字好累