@@ -9,7 +9,7 @@ services:
|
|||||||
- 3000:3000
|
- 3000:3000
|
||||||
- 3001:3001
|
- 3001:3001
|
||||||
- 6099:6099
|
- 6099:6099
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- napcatQQ:/app/.config/QQ # 持久化 QQ 本体
|
- napcatQQ:/app/.config/QQ # 持久化 QQ 本体
|
||||||
- napcatCONFIG:/app/napcat/config # 持久化 NapCat 配置文件
|
- napcatCONFIG:/app/napcat/config # 持久化 NapCat 配置文件
|
||||||
@@ -19,10 +19,12 @@ services:
|
|||||||
mongodb:
|
mongodb:
|
||||||
container_name: mongodb
|
container_name: mongodb
|
||||||
environment:
|
environment:
|
||||||
- TZ=Asia/Shanghai
|
- tz=Asia/Shanghai
|
||||||
|
# - MONGO_INITDB_ROOT_USERNAME=your_username
|
||||||
|
# - MONGO_INITDB_ROOT_PASSWORD=your_password
|
||||||
expose:
|
expose:
|
||||||
- "27017"
|
- "27017"
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
volumes:
|
volumes:
|
||||||
- mongodb:/data/db # 持久化 MongoDB 数据库
|
- mongodb:/data/db # 持久化 MongoDB 数据库
|
||||||
- mongodbCONFIG:/data/configdb # 持久化 MongoDB 配置文件
|
- mongodbCONFIG:/data/configdb # 持久化 MongoDB 配置文件
|
||||||
@@ -34,7 +36,7 @@ services:
|
|||||||
- TZ=Asia/Shanghai
|
- TZ=Asia/Shanghai
|
||||||
expose:
|
expose:
|
||||||
- "8080"
|
- "8080"
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
depends_on:
|
depends_on:
|
||||||
- mongodb
|
- mongodb
|
||||||
- napcat
|
- napcat
|
||||||
|
|||||||
@@ -2,21 +2,64 @@
|
|||||||
|
|
||||||
## 部署步骤(推荐,但不一定是最新)
|
## 部署步骤(推荐,但不一定是最新)
|
||||||
|
|
||||||
1. 获取配置文件:
|
|
||||||
|
### 1. 获取Docker配置文件:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
wget https://raw.githubusercontent.com/SengokuCola/MaiMBot/main/docker-compose.yml
|
wget https://raw.githubusercontent.com/SengokuCola/MaiMBot/main/docker-compose.yml -O docker-compose.yml
|
||||||
```
|
```
|
||||||
|
|
||||||
2. 启动服务:
|
- 若需要启用MongoDB数据库的用户名和密码,可进入docker-compose.yml,取消MongoDB处的注释并修改变量`=`后方的值为你的用户名和密码\
|
||||||
|
修改后请注意在之后配置`.env.prod`文件时指定MongoDB数据库的用户名密码
|
||||||
|
|
||||||
|
|
||||||
|
### 2. 启动服务:
|
||||||
|
|
||||||
|
- **!!! 请在第一次启动前确保当前工作目录下`.env.prod`与`bot_config.toml`文件存在 !!!**\
|
||||||
|
由于Docker文件映射行为的特殊性,若宿主机的映射路径不存在,可能导致意外的目录创建,而不会创建文件,由于此处需要文件映射到文件,需提前确保文件存在且路径正确,可使用如下命令:
|
||||||
|
```bash
|
||||||
|
touch .env.prod
|
||||||
|
touch bot_config.toml
|
||||||
|
```
|
||||||
|
|
||||||
|
- 启动Docker容器:
|
||||||
```bash
|
```bash
|
||||||
NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose up -d
|
NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
3. 修改配置后重启:
|
- 旧版Docker中可能找不到docker compose,请使用docker-compose工具替代
|
||||||
|
|
||||||
|
|
||||||
|
### 3. 修改配置并重启Docker:
|
||||||
|
|
||||||
|
- 请前往 [🎀 新手配置指南](docs/installation_cute.md) 或 [⚙️ 标准配置指南](docs/installation_standard.md) 完成`.env.prod`与`bot_config.toml`配置文件的编写\
|
||||||
|
**需要注意`.env.prod`中HOST处IP的填写,Docker中部署和系统中直接安装的配置会有所不同**
|
||||||
|
|
||||||
|
- 重启Docker容器:
|
||||||
|
```bash
|
||||||
|
docker restart maimbot # 若修改过容器名称则替换maimbot为你自定的名臣
|
||||||
|
```
|
||||||
|
|
||||||
|
- 下方命令可以但不推荐,只是同时重启NapCat、MongoDB、MaiMBot三个服务
|
||||||
```bash
|
```bash
|
||||||
NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose restart
|
NAPCAT_UID=$(id -u) NAPCAT_GID=$(id -g) docker compose restart
|
||||||
```
|
```
|
||||||
|
|
||||||
|
- 旧版Docker中可能找不到docker compose,请使用docker-compose工具替代
|
||||||
|
|
||||||
|
|
||||||
|
### 4. 登入NapCat管理页添加反向WebSocket
|
||||||
|
|
||||||
|
- 在浏览器地址栏输入`http://<宿主机IP>:6099/`进入NapCat的管理Web页,添加一个Websocket客户端
|
||||||
|
> 网络配置 -> 新建 -> Websocket客户端
|
||||||
|
|
||||||
|
- Websocket客户端的名称自定,URL栏填入`ws://maimbot:8080/onebot/v11/ws`,启用并保存即可\
|
||||||
|
(若修改过容器名称则替换maimbot为你自定的名称)
|
||||||
|
|
||||||
|
|
||||||
|
### 5. 愉快地和麦麦对话吧!
|
||||||
|
|
||||||
|
|
||||||
## ⚠️ 注意事项
|
## ⚠️ 注意事项
|
||||||
|
|
||||||
- 目前部署方案仍在测试中,可能存在未知问题
|
- 目前部署方案仍在测试中,可能存在未知问题
|
||||||
|
|||||||
@@ -88,11 +88,11 @@ CHAT_ANY_WHERE_KEY=your_key
|
|||||||
CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1
|
CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1
|
||||||
|
|
||||||
# 如果你不知道这是什么,那么下面这些不用改,保持原样就好啦
|
# 如果你不知道这是什么,那么下面这些不用改,保持原样就好啦
|
||||||
HOST=127.0.0.1
|
HOST=127.0.0.1 # 如果使用Docker部署,需要改成0.0.0.0喵,不然听不见群友讲话了喵
|
||||||
PORT=8080
|
PORT=8080
|
||||||
|
|
||||||
# 这些是数据库设置,一般也不用改呢
|
# 这些是数据库设置,一般也不用改呢
|
||||||
MONGODB_HOST=127.0.0.1
|
MONGODB_HOST=127.0.0.1 # 如果使用Docker部署,需要改成数据库容器的名字喵,默认是mongodb喵
|
||||||
MONGODB_PORT=27017
|
MONGODB_PORT=27017
|
||||||
DATABASE_NAME=MegBot
|
DATABASE_NAME=MegBot
|
||||||
MONGODB_USERNAME = "" # 如果数据库需要用户名,就在这里填写喵
|
MONGODB_USERNAME = "" # 如果数据库需要用户名,就在这里填写喵
|
||||||
|
|||||||
@@ -52,11 +52,11 @@ CHAT_ANY_WHERE_KEY=your_key
|
|||||||
CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1
|
CHAT_ANY_WHERE_BASE_URL=https://api.chatanywhere.tech/v1
|
||||||
|
|
||||||
# 服务配置
|
# 服务配置
|
||||||
HOST=127.0.0.1
|
HOST=127.0.0.1 # 如果使用Docker部署,需要改成0.0.0.0,否则QQ消息无法传入
|
||||||
PORT=8080
|
PORT=8080
|
||||||
|
|
||||||
# 数据库配置
|
# 数据库配置
|
||||||
MONGODB_HOST=127.0.0.1
|
MONGODB_HOST=127.0.0.1 # 如果使用Docker部署,需要改成数据库容器的名字,默认是mongodb
|
||||||
MONGODB_PORT=27017
|
MONGODB_PORT=27017
|
||||||
DATABASE_NAME=MegBot
|
DATABASE_NAME=MegBot
|
||||||
MONGODB_USERNAME = "" # 数据库用户名
|
MONGODB_USERNAME = "" # 数据库用户名
|
||||||
|
|||||||
@@ -77,7 +77,7 @@ pip install -r requirements.txt
|
|||||||
- 参考[NapCat官方文档](https://www.napcat.wiki/guide/boot/Shell#napcat-installer-linux%E4%B8%80%E9%94%AE%E4%BD%BF%E7%94%A8%E8%84%9A%E6%9C%AC-%E6%94%AF%E6%8C%81ubuntu-20-debian-10-centos9)安装
|
- 参考[NapCat官方文档](https://www.napcat.wiki/guide/boot/Shell#napcat-installer-linux%E4%B8%80%E9%94%AE%E4%BD%BF%E7%94%A8%E8%84%9A%E6%9C%AC-%E6%94%AF%E6%8C%81ubuntu-20-debian-10-centos9)安装
|
||||||
|
|
||||||
- 使用QQ小号登录,添加反向WS地址:
|
- 使用QQ小号登录,添加反向WS地址:
|
||||||
`ws://localhost:8080/onebot/v11/ws`
|
`ws://127.0.0.1:8080/onebot/v11/ws`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -79,7 +79,7 @@ pip install -r requirements.txt
|
|||||||
|
|
||||||
### 3️⃣ **配置NapCat,让麦麦bot与qq取得联系**
|
### 3️⃣ **配置NapCat,让麦麦bot与qq取得联系**
|
||||||
- 安装并登录NapCat(用你的qq小号)
|
- 安装并登录NapCat(用你的qq小号)
|
||||||
- 添加反向WS:`ws://localhost:8080/onebot/v11/ws`
|
- 添加反向WS:`ws://127.0.0.1:8080/onebot/v11/ws`
|
||||||
|
|
||||||
### 4️⃣ **配置文件设置,让麦麦Bot正常工作**
|
### 4️⃣ **配置文件设置,让麦麦Bot正常工作**
|
||||||
- 修改环境配置文件:`.env.prod`
|
- 修改环境配置文件:`.env.prod`
|
||||||
|
|||||||
@@ -83,7 +83,7 @@ class ReasoningGUI:
|
|||||||
except RuntimeError:
|
except RuntimeError:
|
||||||
print("数据库未初始化,正在尝试初始化...")
|
print("数据库未初始化,正在尝试初始化...")
|
||||||
try:
|
try:
|
||||||
Database.initialize("localhost", 27017, "maimai_bot")
|
Database.initialize("127.0.0.1", 27017, "maimai_bot")
|
||||||
self.db = Database.get_instance().db
|
self.db = Database.get_instance().db
|
||||||
print("数据库初始化成功")
|
print("数据库初始化成功")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ from src.common.database import Database
|
|||||||
|
|
||||||
# 从环境变量获取配置
|
# 从环境变量获取配置
|
||||||
Database.initialize(
|
Database.initialize(
|
||||||
host=os.getenv("MONGODB_HOST", "localhost"),
|
host=os.getenv("MONGODB_HOST", "127.0.0.1"),
|
||||||
port=int(os.getenv("MONGODB_PORT", "27017")),
|
port=int(os.getenv("MONGODB_PORT", "27017")),
|
||||||
db_name=os.getenv("DATABASE_NAME", "maimai"),
|
db_name=os.getenv("DATABASE_NAME", "maimai"),
|
||||||
username=os.getenv("MONGODB_USERNAME"),
|
username=os.getenv("MONGODB_USERNAME"),
|
||||||
|
|||||||
Reference in New Issue
Block a user