找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 9214|回复: 75

[N1盒子] 纯docker版dbot镜像,可在openwrt系统中运行,支持amd64和arm64架构的设备

  [复制链接]
发表于 2022-4-18 18:43 | 显示全部楼层 |阅读模式
本帖最后由 岁月的牵绊 于 2022-5-29 18:07 编辑

简述声明:

dbot是一个自动修改青龙config.sh文件的QQ机器人,此项目是由『 科技玩家-ODrea 』开发的,作者只构建了amd64架构的dbot镜像,本人在此基础上重构arm64架构的镜像。

作者docker仓库地址:staronedream/dbot_docker

本人docker仓库地址:https://hub.docker.com/r/grbhq/dbot


版本区别:
1.4版:仅支持对接机器人!
1.5版:支持web网页提交ck,可对接机器人!


dbot教程开始:(以n1的openwrt系统设备为例,全程使用ssh工具部署)
1.4版和1.5版略有不同,不同之处已做区分,请使用对应版本命令。

提醒:
在教程开始之前请获取你设备docker容器的网关地址,后面会用到。如果你知道可以忽略这里。

●获取docker网关ip地址
  1. docker network inspect bridge
复制代码



一、安装MySQL容器【拉取后的镜像需要占用大概450MB的空间】

1、请选择好你要安装MySQL的文件位置(映射后的文件会占用200MB左右的空间,使用的n1不建议安装在/root目录下)

(1)查看设备各分区空间大小,选择合适的分区安装容器。【本教程选择/mnt/mmcblk2p4下安装,其他设备请视情况选择。】
  1. df -h
复制代码


(2)进入到/mnt/mmcblk2p4目录
  1. cd /mnt/mmcblk2p4
复制代码
(3)安装MySQL容器
  1. docker run -dit \
  2. -v $PWD/mysql/log:/var/log/mysql \
  3. -v $PWD/mysql/data:/var/lib/mysql \
  4. -v $PWD/mysql/conf:/etc/mysql/conf.d \
  5. -p 3306:3306 \
  6. -e MYSQL_ROOT_PASSWORD=123456 \
  7. -e MYSQL_DATABASE=dbot \
  8. --privileged=true \
  9. --name mysql \
  10. --restart always \
  11. mysql:8.0-oracle
复制代码
(4)检查MySQL容器是否正常运行
    <1>查看容器的运行状态
  1. docker ps -a
复制代码



    <2>检查容器运行日志,进一步确认容器是否正常运行

  1. docker logs -f mysql
复制代码

如图,表示MySQL容器一切运行正常,否则请自行排除原因【一般无法正常运行是因为宿主机映射目录下的空间不足引起的】


2、编辑MySQL配置文件,解决数据库中文乱码问题
(1)进入刚刚映射的文件夹中
  1. cd mysql/conf
复制代码
(2)创建并编辑my.cnf配置文件
  1. vi my.cnf
复制代码
(3)复制下面带蓝底的内容粘贴到文件中,并保存文件。


[client]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
[mysql]
default-character-set = utf8




vim使用命令提示:
进入编辑:按字母i
退出保存:按Esc键,再输入:wq
不保存强制退出:按Esc键,输入:q!
上面的冒号不能少!!!


(4)重启MySQL容器,使配置文件生效。
  1. docker restart mysql
复制代码
3、将数据库导入到MySQL容器中
【请下载对应版本的数据库文件,下方命令以1.4版为例,1.5版的请把命令中的1.4换成1.5
(数据库仓库地址:https://gitee.com/suiyuehq/dbot/tree/master/
从此处开始你可以使用第三方数据库管理工具连接MySQL容器进行修改,免去使用麻烦的命令,文章最后会提供管理工具,需要用工具操作的请跳过这里的步骤
(1)下载dbot1.4.sql文件【手动下载地址:https://gitee.com/suiyuehq/dbot/repository/archive/master.zip 下载完解压后再用数据库工具导入】
  1. wget https://gitee.com/suiyuehq/dbot/raw/master/dbot1.4.sql
复制代码
(2)在dbot1.4.sql文件的当前目录下运行命令导入到MySQL容器的根目录中
  1. docker cp dbot1.4.sql mysql:/
复制代码
(3)进入到MySQL容器内部
  1. docker exec -it mysql bash
复制代码
(4)登陆连接到mysql服务【用户名:root  密码:123456】
  1. mysql -uroot -p123456
复制代码
(5)导入数据到dbot数据库中【请注意不要漏了后面的分号
    <1>切换到dbot数据库
  1. use dbot;
复制代码


   <2>导入数据
  1. source /dbot1.4.sql;
复制代码


(6)对dbot数据库中ql表和user表修改,对接青龙和设置管理员【此处1.5版的请跳过,直接去安装dbot容器即可
    <1>查看当前dbot数据库所有的表【检查是否导入成功】
  1. show tables;
复制代码
   <2>查看ql表的内容
  1. select * from ql;
复制代码
   <3>修改ql表的url,Client_ID,Client_Secret为你自己对应的值,分别表示【青龙容器的ip地址,应用id,密钥】请把命令中values后面引号内的值修改成你对应的值
先删除ql表的内容再插入对应的值
  1. delete from ql where id = 1;
复制代码
  1. insert ignore into ql (id,url,Client_ID,Client_Secret) values ("1","http://172.17.0.1:5800/","xxx","xxxx");
复制代码


修改后的正确示例;

    <4>查看user表的内容
  1. select * from user;
复制代码
   <5>修改user表,命令中xxx改为你自己的管理员qq号
    先删除user表的内容再插入自己的管理员qq号
  1. delete from user where admin = 1;
复制代码
  1. insert ignore into user (qq,admin) values (xxxx,1);
复制代码
ok至此,你的MySQL容器已设置好了,接下来安装dbot容器吧!!!【退出mysql请输入命令exit两次




二、安装dbot容器【拉取后的镜像需要占用大概230MB的空间】【1.4版和1.5版略有不同,请使用对应的命令

1、还是一样的,自己选择好安装位置,容器会自动映射文件到该目录下【此教程选择的是/root目录】(也可以选择不映射文件)
  1. cd /root
复制代码
2、拉取镜像并运行容器


1.4版本命令
1.5版本命令

  1. docker run -dit \
  2. -v $PWD/dbot:/app/dbot \
  3. -p 2333:2333 \
  4. -e ENVIRONMENT=prod \
  5. -e APP_MODULE=bot:app \
  6. -e MAX_WORKERS=1 \
  7. --name dbot \
  8. --hostname dbot \
  9. --privileged=true \
  10. grbhq/dbot:1.4 bash
复制代码

  1. docker run -dit \
  2. -v $PWD/dbot:/app/dbots/dbots/mysql \
  3. -p 2333:2333 \
  4. -p 2334:80 \
  5. -e ENVIRONMENT=prod \
  6. -e APP_MODULE=bot:app \
  7. -e MAX_WORKERS=1 \
  8. --name dbot \
  9. --hostname dbot \
  10. --privileged=true \
  11. --restart always \
  12. grbhq/dbot:1.5
复制代码
●1.5版dbot的网页后台登陆地址:
必需导入数据库并对接好数据库后才可访问
你的设备ip:2334
例如:192.168.1.1:2334
【默认用户名:admin 默认密码:123456】

提交ck地址:你的设备ip:2334/cookie
例如:192.168.1.1:2334/cookie




3、进入容器编辑配置文件,对接MySQL数据库【接下来的命令均在容器内执行!!!
  1. docker exec -it dbot bash
复制代码
4、编辑配置config.py配置文件【1.5版本配置文件路径在/app/dbots/dbots/mysql/mysql.py】

1.4版本
1.5版本
  1. vi /app/dbot/plugins/config.py
复制代码

  1. vi /app/dbots/dbots/mysql/mysql.py
复制代码



5、修改mysql数据库的ip地址和用户名以及对应的端口【ip地址可以使用docker网关地址,或者设备的ip地址都行】

配置示例如图

修改完后保存退出编辑状态

---至此1.5版的基本配置完成,此时可以去登陆网页后台配置青龙和管理员了!!!如需开启机器人请接着往下看---


6、运行go-cqhttp机器人,初始化配置文件【以下教程,1.5版本的可以选择性配置,网页自带提交ck功能
    <1>运行go-cq-http,选择代理方式为:3
  1. cd /app/dbot/go-cqhttp && ./go-cqhttp
复制代码



    <2>快捷键CTRL+C退出,进行编辑配置文件。
  1. vi config.yml
复制代码



修改地址为:universal: ws://127.0.0.1:2333/onebot/v11/ws

    <3>再次运行go-cqhttp,进行qq扫码登陆【扫码的qq号将会成为机器人,请勿使用数据库中设置的qq号登陆】
  1. cd /app/dbot/go-cqhttp && ./go-cqhttp
复制代码
   <4>扫码登陆成功后,请按CTRL+C退出

7、测试一下dbot是否能正常工作,实现重启容器自动运行程序!【能力强的可自行编写shell命令到文件中】
    <1>编辑/app目录下的docker-entrypoint.sh文件
  1. vi /app/docker-entrypoint.sh
复制代码

避坑提醒:

改用nb run 启动程序,用python 启动会出现机器人不理人的问题!!!

修改完成后保存并退出

    <2>运行测试,确保能自动启动
  1. cd /app && sh docker-entrypoint.sh
复制代码


如图所示表示能正常启动

8、最后一步,退出容器,尝试重启容器是否能自动启动dbot
退出容器
  1. exit
复制代码
重启容器
  1. docker restart dbot
复制代码
查看容器日志
  1. docker logs -f dbot
复制代码




到此,dbot机器人已配置成功可以直接去使用了





三、使用你的数据库中设置的管理员qq给你扫码的qq发送命令“菜单”,是否能得到回应。

(1)特别提醒:使用机器人之前务必填写好青龙地址、id和密钥!!!否则机器人无法回应你!

(2)有关机器人的命令请使用数据库管理工具连接数据库从words表中获取或者从网页后台获取!!!

教程到这里就结束啦!

后续更新说明,请留意docker仓库!!!


附件:【数据库管理工具绿色高级版】(下载链接回复可见)
下载地址:
https://grbnb.lanzouf.com/iCf8k03dh52b

管理工具导入方法:

导入成功后在表上刷新一下即可看到所有导入的表。















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
发表于 2023-9-25 09:24 来自手机 | 显示全部楼层
老哥,J1900装的istore,1.5版本容器一直重启,启动不了,1.4好像没啥问题,但扫码登录QQ提示环境异常,换了三个QQ都是如此
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-9-16 19:45 | 显示全部楼层
大佬麻烦问下 j1900装的istoreos也能用这种方法吗?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2023-3-20 00:49 | 显示全部楼层
账号一登录就显示被冻结
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-10-7 10:02 | 显示全部楼层
感谢分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-4 18:04 | 显示全部楼层
+++++++++++++++++
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-9-4 17:42 | 显示全部楼层
支持楼主牛逼
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-28 15:44 | 显示全部楼层
速来支持一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-7-14 15:06 | 显示全部楼层
谢谢楼主分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2022-6-30 20:06 | 显示全部楼层
大名小松 发表于 2022-6-30 15:57
大佬 麻烦问一下 玩客云能跑这个吗谢谢

玩客云的cpu是arm32位的,镜像不支持,之前尝试过适配,由于Python镜像运行在arm32位上有问题,打不上依赖,最终放弃了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-6-30 19:09 | 显示全部楼层

感谢楼主分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-6-30 15:57 | 显示全部楼层
大佬 麻烦问一下 玩客云能跑这个吗谢谢

点评

玩客云的cpu是arm32位的,镜像不支持,之前尝试过适配,由于Python镜像运行在arm32位上有问题,打不上依赖,最终放弃了  详情 回复 发表于 2022-6-30 20:06
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-6-24 16:52 | 显示全部楼层
感谢楼主分享
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-6-12 11:02 | 显示全部楼层
学习学习
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-6-5 04:33 | 显示全部楼层
xiexiefenxaing
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

发表于 2022-5-31 16:45 | 显示全部楼层
1.5版dbot容器拉好了,启动又自动停止
这个是什么原因呢,都安装好几天了一直没弄好
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-3-28 17:09

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表