diff --git a/docker-compose.yml b/docker-compose.yml index c43c9cebc..512558558 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -9,7 +9,7 @@ services: - 3000:3000 - 3001:3001 - 6099:6099 - restart: always + restart: unless-stopped volumes: - napcatQQ:/app/.config/QQ # 持久化 QQ 本体 - napcatCONFIG:/app/napcat/config # 持久化 NapCat 配置文件 @@ -19,10 +19,12 @@ services: mongodb: container_name: mongodb environment: - - TZ=Asia/Shanghai + - tz=Asia/Shanghai + # - MONGO_INITDB_ROOT_USERNAME=your_username + # - MONGO_INITDB_ROOT_PASSWORD=your_password expose: - "27017" - restart: always + restart: unless-stopped volumes: - mongodb:/data/db # 持久化 MongoDB 数据库 - mongodbCONFIG:/data/configdb # 持久化 MongoDB 配置文件 @@ -34,7 +36,7 @@ services: - TZ=Asia/Shanghai expose: - "8080" - restart: always + restart: unless-stopped depends_on: - mongodb - napcat diff --git a/docs/docker_deploy.md b/docs/docker_deploy.md index c9b069309..3958d2fc4 100644 --- a/docs/docker_deploy.md +++ b/docs/docker_deploy.md @@ -2,21 +2,64 @@ ## 部署步骤(推荐,但不一定是最新) -1. 获取配置文件: + +### 1. 获取Docker配置文件: + ```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 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 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. 愉快地和麦麦对话吧! + + ## ⚠️ 注意事项 - 目前部署方案仍在测试中,可能存在未知问题 diff --git a/docs/installation_cute.md b/docs/installation_cute.md index 278cbfe20..e7541f7d3 100644 --- a/docs/installation_cute.md +++ b/docs/installation_cute.md @@ -88,11 +88,11 @@ CHAT_ANY_WHERE_KEY=your_key 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 # 这些是数据库设置,一般也不用改呢 -MONGODB_HOST=127.0.0.1 +MONGODB_HOST=127.0.0.1 # 如果使用Docker部署,需要改成数据库容器的名字喵,默认是mongodb喵 MONGODB_PORT=27017 DATABASE_NAME=MegBot MONGODB_USERNAME = "" # 如果数据库需要用户名,就在这里填写喵 diff --git a/docs/installation_standard.md b/docs/installation_standard.md index 6e4920220..5f52676d1 100644 --- a/docs/installation_standard.md +++ b/docs/installation_standard.md @@ -52,11 +52,11 @@ CHAT_ANY_WHERE_KEY=your_key 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 # 数据库配置 -MONGODB_HOST=127.0.0.1 +MONGODB_HOST=127.0.0.1 # 如果使用Docker部署,需要改成数据库容器的名字,默认是mongodb MONGODB_PORT=27017 DATABASE_NAME=MegBot MONGODB_USERNAME = "" # 数据库用户名 diff --git a/docs/manual_deploy_linux.md b/docs/manual_deploy_linux.md index 09b2cfd0d..d310ffc59 100644 --- a/docs/manual_deploy_linux.md +++ b/docs/manual_deploy_linux.md @@ -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)安装 - 使用QQ小号登录,添加反向WS地址: -`ws://localhost:8080/onebot/v11/ws` +`ws://127.0.0.1:8080/onebot/v11/ws` --- diff --git a/docs/manual_deploy_windows.md b/docs/manual_deploy_windows.md index bd9c26f86..86238bcd4 100644 --- a/docs/manual_deploy_windows.md +++ b/docs/manual_deploy_windows.md @@ -79,7 +79,7 @@ pip install -r requirements.txt ### 3️⃣ **配置NapCat,让麦麦bot与qq取得联系** - 安装并登录NapCat(用你的qq小号) -- 添加反向WS:`ws://localhost:8080/onebot/v11/ws` +- 添加反向WS:`ws://127.0.0.1:8080/onebot/v11/ws` ### 4️⃣ **配置文件设置,让麦麦Bot正常工作** - 修改环境配置文件:`.env.prod` diff --git a/src/gui/reasoning_gui.py b/src/gui/reasoning_gui.py index 340791ee3..572e4ece9 100644 --- a/src/gui/reasoning_gui.py +++ b/src/gui/reasoning_gui.py @@ -83,7 +83,7 @@ class ReasoningGUI: except RuntimeError: print("数据库未初始化,正在尝试初始化...") try: - Database.initialize("localhost", 27017, "maimai_bot") + Database.initialize("127.0.0.1", 27017, "maimai_bot") self.db = Database.get_instance().db print("数据库初始化成功") except Exception as e: diff --git a/src/plugins/knowledege/knowledge_library.py b/src/plugins/knowledege/knowledge_library.py index d2408e24f..481076961 100644 --- a/src/plugins/knowledege/knowledge_library.py +++ b/src/plugins/knowledege/knowledge_library.py @@ -19,7 +19,7 @@ from src.common.database import Database # 从环境变量获取配置 Database.initialize( - host=os.getenv("MONGODB_HOST", "localhost"), + host=os.getenv("MONGODB_HOST", "127.0.0.1"), port=int(os.getenv("MONGODB_PORT", "27017")), db_name=os.getenv("DATABASE_NAME", "maimai"), username=os.getenv("MONGODB_USERNAME"),