Code Monkey home page Code Monkey logo

qchatgpt-docker-installer's Introduction

README

本项目旨在为原项目提供一个简单的 Docker 部署方式,方便大家使用。

下述命令均在项目根目录下执行。

1. 安装 Docker和 Docker Compose

2. 下载所需要文件

i. 克隆仓库

git clone https://github.com/a121673163/QChatGPT-Docker-Installer
cd QChatGPT-Docker-Installer

ii. 进行部署

  • linux系统可以直接使用loadFile.sh (已安装 git 和 wget)
chmod +x loadFile.sh && ./loadFile.sh 

bot目录内是当前的RockChinQ/QChatGPT项目里面的内容,mirai目录内是ITXTech下载后解压到mirai里面

以最新的项目内容为准
.
├── bot
│   ├── config-template.py
│   ├── LICENSE
│   ├── main.py
│   ├── pkg
│   ├── README.md
│   ├── requirements.txt
│   ├── res
│   ├── sensitive.json
│   └── tests
├── docker-compose.yaml
├── mirai
│   ├── LICENSE
│   ├── mcl
│   ├── mcl.cmd
│   ├── mcl.jar
│   └── README.md
├── _mirai.Dockerfile
└── _setup.Dockerfile

3. 配置 启动mirai

i. 初始化mirai

docker-compose run --rm mirai

上面这一步,windows操作系统的可能会报错error during connect: This error may indicate that the docker daemon is not running 解决方式是CMD管理员模式DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V 等待安装,并按照提示操作登录。(第一次失败的话就,Ctrl + C退出,再重来一次)

ii. 在mirai上登录QQ

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

具体见此教程

iii. 配置自动登录

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

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

出现mirai登录时提示版本过低:当前QQ版本过低,请升级至最新版本后再登录。点击进入下载页面报错时候删除mirai/bots文件夹里面的数据,见此issue

完成后, Ctrl + C 退出。

iv. 编写配置文件

  • bot目录下创建config.py,将config-template.py的内容复制进去,编辑config.py修改必需项

  • mirai/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相同

4. 启动

i. 启动mirai容器

docker-compose run -d mirai

此命令将在后台启动mirai容器

ii. 启动主程序容器

docker-compose run -d setup

此命令将在后台启动主程序的容器并完成配置

❓如何将容器切到前台查看日志?

查看容器进程

docker ps

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

root@docker-test:~# docker ps
CONTAINER ID   IMAGE                             COMMAND                  CREATED              STATUS              PORTS     NAMES
f633b8c1051c   qchatgpt-docker-installer-setup   "/bin/sh -c 'python …"   About a minute ago   Up About a minute             qchatgpt-docker-installer_setup_run_998f5335ab18
227e44d7d5a2   qchatgpt-docker-installer-mirai   "/bin/sh -c 'java -j…"   2 minutes ago        Up 2 minutes                  qchatgpt-docker-installer_mirai_run_c6c8f60da3aa

若要切换到主程序控制台,请查看IMAGE名为qchatgpt-docker-installer-setup的容器的CONTAINER ID,在这里是f633b8c1051c,于是使用以下命令将其切到前台:

docker attach f633b

这是便可以看到主程序的控制台,查看mirai控制台同理

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

root@docker-test:~# docker attach f633b
[2022-12-18 07:00:27.247] manager.py (173) - [INFO] : [person_1010553892]发送消息:2
[2022-12-18 07:00:27.248] util.py (67) - [INFO] : message='Request to OpenAI API' method=post path=https://api.openai.com/v1/completions
[2022-12-18 07:00:29.629] util.py (67) - [INFO] : message='OpenAI API response' path=https://api.openai.com/v1/completions processing_ms=872 request_id=6d9f172ce9c1b3f315aa59dc09333836 response_code=200
[2022-12-18 07:00:29.631] manager.py (195) - [INFO] : 回复[person_1010553892]消息:我不明白你的意思。输入!help获取帮助
read escape sequence
root@docker-test:~#

qchatgpt-docker-installer's People

Contributors

mikumifa avatar rockchinq avatar a121673163 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.