恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
当贝投影
查看: 1431|回复: 47

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

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


简述声明:

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
复制代码
docker网关地址.png


一、安装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
复制代码

mysql运行状态.png

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

  1. docker logs -f mysql
复制代码
mysql容器运行日志.png
如图,表示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;
复制代码
登陆连接数据库.png

   <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后面引号内的值修改成你对应的值
  1. insert ignore into ql (id,url,Client_ID,Client_Secret) values ("1","http://172.17.0.1:5800/","xxx","xxxx");
复制代码

修改ql表键值.png
修改后的正确示例;

    <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地址都行】
dbot数据库配置.png
配置示例如图

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

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


6、运行go-cqhttp机器人,初始化配置文件【以下教程,1.5版本的可以选择性配置,网页自带提交ck功能
    <1>运行go-cq-http,选择代理方式为:3
游客,如果您要查看本帖隐藏内容请回复


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

sh测试能否正常运行.png
如图所示表示能正常启动

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

容器重启自动运行.png


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





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

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

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

教程到这里就结束啦!

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


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


管理工具导入方法:
数据库管理工具导入sql文件.png
导入成功后在表上刷新一下即可看到所有导入的表。













我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-17 12:31 | 显示全部楼层
mysql> source /dbot1.5.sql;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'The content may contain violation information' at line 1
光我是这个问题?ARMBIAN系统
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-16 20:04 来自手机 | 显示全部楼层
学习使我快乐
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-15 23:01 | 显示全部楼层
我卡在 修改mysql数据库的ip地址和用户名以及对应的端口   这一步打了好多字 没法保存我哭了
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-15 21:06 | 显示全部楼层
xieixie ni
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-15 19:34 | 显示全部楼层
xiaomi 发表于 2022-5-15 17:52
大佬这是什么情况  设置好了发菜单没回应 QL也设置好了

这个致命错误咋回事
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2022-5-15 18:10 | 显示全部楼层
xiaomi 发表于 2022-5-15 17:52
大佬这是什么情况  设置好了发菜单没回应 QL也设置好了

很明显,你的go-cqhttp没有进行配置
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-15 17:52 | 显示全部楼层
大佬这是什么情况  设置好了发菜单没回应 QL也设置好了
{2T({6CLMDI(]SMCX1EV$A0.jpg

点评

很明显,你的go-cqhttp没有进行配置  详情 回复 发表于 2022-5-15 18:10
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-11 19:06 | 显示全部楼层
感谢分享
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-11 18:21 | 显示全部楼层
大佬  一直卡在这里不动咋解决&#128073;&#128073;检测到/app/dbot/plugins目录存在配置文件,即将启动...   
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-11 18:20 | 显示全部楼层
大佬  一直卡在这里不动咋解决&#128073;&#128073;检测到/app/dbot/plugins目录存在配置文件,即将启动...   
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-11 18:20 | 显示全部楼层
大佬  一直卡在这里不动咋解决&#128073;&#128073;检测到/app/dbot/plugins目录存在配置文件,即将启动...   
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-11 18:20 | 显示全部楼层
大佬  一直卡在这里不动咋解决&#128073;&#128073;检测到/app/dbot/plugins目录存在配置文件,即将启动...   
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-10 00:08 | 显示全部楼层
来支持大佬~~~
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-9 13:24 | 显示全部楼层
xuexixuexi
我的恩山、我的无线 The best wifi forum is right here.
发表于 2022-5-8 22:32 | 显示全部楼层
老哥牛啊 这次又出厉害教学了
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2022-5-18 15:36

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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