找回密码
 立即注册

QQ登录

只需一步,快速开始

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

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

  [复制链接]
本帖最后由 岁月的牵绊 于 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
游客,如果您要查看本帖隐藏内容请回复


    <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仓库!!!


附件:【数据库管理工具绿色高级版】(下载链接回复可见)
下载地址:
游客,如果您要查看本帖隐藏内容请回复


管理工具导入方法:

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















本帖子中包含更多资源

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

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

使用道具 举报

大佬麻烦问下 j1900装的istoreos也能用这种方法吗?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

账号一登录就显示被冻结
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

使用道具 举报

+++++++++++++++++
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

支持楼主牛逼
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

速来支持一下
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

使用道具 举报

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

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

使用道具 举报


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

使用道具 举报

大佬 麻烦问一下 玩客云能跑这个吗谢谢

点评

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

使用道具 举报

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

使用道具 举报

学习学习
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

xiexiefenxaing
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 03:24

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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

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