Files
LangBot/docker_deploy.md
crosscc ea57976808 Update docker_deploy.md
2.1中 `network host` 就是开放容器内的所有端口,和 `-p 端口:端口` 不共用
2.1中  `-v ./qq/xxx` 在群晖中不能用,改成了`${PWD}/qq/xxx`
3 中 容器名和上面的重复了,映射整个目录会无法运行,改成只映射 config.py

以上是我docker部署中遇到的问题及修改
2023-03-29 16:44:16 +08:00

2.7 KiB
Raw Blame History

操作步骤

1.安装docker和docker compose

各种设备的安装Docker方法

安装Compose方法

Docker Desktop for Mac/Windows 自带 docker-compose 二进制文件,安装 Docker 之后可以直接使用。

可以选择很多下载方法,反正只要安装了就可以了

2. 登录qq(下面所有步骤建议在项目文件夹下操作)

2.1 输入指令

docker run -d -it --name mcl --network host -v ${PWD}/qq/plugins:/app/plugins -v ${PWD}/qq/config:/app/config -v   ${PWD}/qq/data:/app/data -v ${PWD}/qq/bots:/app/bots --restart unless-stopped kagurazakanyaa/mcl:latest

这里使用了KagurazakaNyaa/mirai-console-loader-docker的镜像

2.2 进入容器

docker ps

在输出中查看容器的ID例如

CONTAINER ID   IMAGE                COMMAND      CREATED          STATUS          PORTS                                       NAMES
bce1e5568f46   kagurazakanyaa/mcl   "./mcl -u"   10 minutes ago   Up 10 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   admiring_mendeleev

查看IMAGE名为kagurazakanyaa/mcl的容器的CONTAINER ID,在这里是bce1e5568f46,于是使用以下命令将其切到前台:

docker attach bce1e5568f46

如需将其切到后台运行,请使用组合键Ctrl+P+Q

2.3 编写配置文件

  • /qq/config/net.mamoe.mirai-api-http 文件夹中找到setting.yml,这是mirai-api-http的配置文件
    • 将这个文件的内容修改为:
adapters:
  - ws
debug: true
enableVerify: true
verifyKey: yirimirai
singleMode: false
cacheSize: 4096
adapterSettings:
  ws:
    host: localhost
    port: 8080
    reservedSyncId: -1

verifyKey要求与botconfig.py中的verifyKey相同

port: 8080要和2.4 config.py配置里面的端口号相同

2.4 登录

在mirai上登录QQ

login <机器人QQ号> <机器人QQ密码>

具体见此教程

配置自动登录(可选)

当机器人账号登录成功以后,执行

autologin add <机器人QQ号> <机器人密码>
autologin setConfig <机器人QQ号> protocol ANDROID_PAD

出现无法登录报错时候无法登录的临时处理方案

完成后, Ctrl+P+Q退出(不会关掉容器,容器还会运行)

3. 部署QChatGPT

配置好config.py,保存到当前目录下,运行下面的

 docker run  -it -d --name QChatGPT   --network host   -v ${PWD}/config.py:/QChatGPT/config.py  mikumifa/qchatgpt-docker