MoFox-Core Docker 部署指南
概述
欢迎使用 MoFox-Core,一个高度可定制化的 AI Bot 框架。
本指南将引导您在任何支持 Docker 的环境下,通过 Docker Compose 完成 MoFox-Core 与 Napcat 的全部署流程。该方式是官方最推荐的部署方案,具有无与伦比的优势:
- 环境隔离:所有依赖项均在 Docker 容器内,不污染你的宿主系统,告别繁琐的环境配置。
- 一键部署:使用
docker compose up -d命令即可启动所有必需的服务(MoFox-Core + Napcat)。 - 管理便捷:将两个核心应用视为一个整体,统一启动、停止和更新。
- 跨平台一致性:无论在 Windows, macOS 还是各种 Linux 发行版上,部署体验都保持一致。
本教程将覆盖从环境准备到成功运行的每一个步骤,旨在为所有用户提供一条最清晰、最高效的部署路径。
第一章:准备工作——地基搭建
在正式开始部署之前,我们需要先确保系统环境满足要求。
1.1 系统要求
- 操作系统: 任何支持 Docker Desktop (Windows, macOS) 或 Docker Engine (Linux) 的操作系统。
- 硬件配置:
- CPU: 2 核或以上
- 内存: 推荐 4GB 或以上
- 磁盘空间: 至少 10GB 可用空间
1.2 安装 Docker 和 Docker Compose
Docker 是容器化技术的核心,而 Docker Compose 则是管理多容器应用的利器。
安装 Docker:
- 对于 Windows/macOS 用户:
- 前往 Docker 官方网站 下载并安装 Docker Desktop。它已经内置了 Docker Engine 和 Docker Compose,无需额外安装。
- 对于 Linux 用户:
- 我们推荐遵循 Docker 官方的安装文档,以确保安装最新、最稳定的版本。
- 对于 Ubuntu/Debian 用户,可以执行以下命令一键安装:bash
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
- 对于 Windows/macOS 用户:
验证安装:
- 打开你的终端 (Terminal, PowerShell, or CMD)。
- 执行以下两个命令,检查 Docker 和 Docker Compose 是否安装成功:bash
docker --version docker compose version - 如果都能正确显示版本号,则证明环境已准备就绪。
第二章:构建基地——文件准备
现在,我们开始构建部署所需的目录结构并获取核心文件。
2.1 创建项目目录
首先,为机器人创建一个专属的目录。
# 在你喜欢的位置创建项目目录并进入
mkdir mofox-bot && cd mofox-bot⚠️ 重要提示: 为了避免未来可能出现的奇怪问题,请确保文件夹的完整路径中不包含任何中文、空格或特殊字符。
2.2 获取 Docker 编排文件
docker-compose.yml 文件是部署的“总指挥”,它定义了需要启动 MoFox-Core 和 Napcat 两个服务以及它们之间的关系。
# Windows PowerShell 用户
Invoke-WebRequest -Uri https://raw.githubusercontent.com/MoFox-Studio/MoFox-Core/dev/docker-compose.yml -OutFile docker-compose.yml
# Linux/macOS/Git Bash 用户
curl -O https://raw.githubusercontent.com/MoFox-Studio/MoFox-Core/dev/docker-compose.yml2.3 创建目录结构与预留文件
为了确保 Docker 容器能够正确挂载配置文件和数据文件,我们需要手动创建目录结构并预留关键文件。这一步至关重要,可以避免 Docker 自动将文件挂载点创建为目录。
创建配置与数据目录:
bash# 创建存放配置文件的目录 mkdir -p docker-config/core mkdir -p docker-config/napcat # 创建存放数据的目录 mkdir -p data/core mkdir -p data/qq mkdir -p data/app拉取 .env 配置文件: 我们需要提前下载
.env文件模板,以便在启动前进行配置。bash# Windows PowerShell 用户 Invoke-WebRequest -Uri https://raw.githubusercontent.com/MoFox-Studio/MoFox-Core/dev/template/template.env -OutFile docker-config/core/.env # Linux/macOS/Git Bash 用户 curl -o docker-config/core/.env https://raw.githubusercontent.com/MoFox-Studio/MoFox-Core/dev/template/template.env预留统计报告文件: MoFox-Bot 会生成运行统计报告,我们需要预先创建一个空文件,以便容器能够正确写入。
bash# Windows PowerShell 用户 New-Item -Path data/core/mofox_bot_statistics.html -ItemType File # Linux/macOS/Git Bash 用户 touch data/core/mofox_bot_statistics.html
🌐 网络小贴士: 如果你发现从 GitHub 下载速度极慢或连接失败,可以手动复制以下链接到浏览器中打开,然后将内容保存为对应的文件:
docker-compose.yml:https://ghproxy.com/https://raw.githubusercontent.com/MoFox-Studio/MoFox-Core/dev/docker-compose.yml.env:https://ghproxy.com/https://raw.githubusercontent.com/MoFox-Studio/MoFox-Core/dev/template/template.env
第三章:核心配置——注入灵魂
在启动之前,我们需要对机器人进行一些基础配置。
3.1 修改 .env 环境配置
使用你喜欢的代码编辑器(如 VS Code)打开 docker-config/core/.env 文件。
签署 EULA:
- 找到
EULA_CONFIRMED=false,将其修改为true,表示你同意最终用户许可协议。EULA_CONFIRMED=true
- 找到
配置监听地址:
- 重要: Docker 部署时,需要让服务监听所有网络接口。找到
HOST="127.0.0.1",将其修改为:HOST="0.0.0.0"
- 重要: Docker 部署时,需要让服务监听所有网络接口。找到
3.2 首次启动以生成其他配置
为了生成 bot_config.toml 和 model_config.toml 等详细配置文件,我们需要先“试运行”一次。
启动容器:
- 在
mofox-bot目录下,执行以下命令:bashdocker compose up -d - 这个命令会从 Docker Hub 拉取 MoFox-Core 和 Napcat 的最新镜像,并以后台模式启动它们。首次拉取镜像可能需要一些时间,请耐心等待。
- 在
检查并关闭:
- 等待约 30-60 秒,让容器完成初始化工作。你可以通过
docker compose ps命令查看容器状态。 - 然后,执行以下命令关闭并移除容器,为接下来的详细配置做准备:bash
docker compose down
- 等待约 30-60 秒,让容器完成初始化工作。你可以通过
检查成果:
- 查看
docker-config/core目录,你会发现config文件夹下已经生成了bot_config.toml、model_config.toml等配置文件。
- 查看
3.3 完善详细配置
现在,我们需要修改生成的配置文件。
修改
bot_config.toml(机器人身份证):- 打开
docker-config/core/config/bot_config.toml文件。 - 机器人 QQ 号: 找到
[bot]配置节下的qq_account,修改为你的机器人 QQ 号。 - 主人 QQ 号: 找到
[permission]配置节下的master_users,修改为你的 QQ 号。⚠️ 格式注意: 请严格按照
[["platform", "user_id"]]的格式填写。
- 打开
修改
model_config.toml(机器人大脑):- 打开
docker-config/core/config/model_config.toml文件。 - 这是最关键的一步,你需要为机器人配置一个可用的大语言模型(LLM)。
- 请点击并参照以下链接完成模型配置:
- 打开
修改
config.toml(Napcat 适配器插件):- 打开
docker-config/core/config/plugins/napcat_adapter/config.toml文件。 - 启用插件: 找到
[plugin]配置节,将enabled修改为true。toml[plugin] enabled = true
- 打开
第四章:连接世界——配置 Napcat 通信
现在,我们需要配置 Napcat,让它主动连接到 MoFox-Core。
访问 Napcat WebUI:
- 首先,我们需要单独启动 Napcat 服务来获取其 WebUI 界面。bash
docker compose up -d napcat - 等待
napcat服务启动后,打开浏览器,访问http://127.0.0.1:6099(如果在远程服务器上,请使用服务器 IP)。
- 首先,我们需要单独启动 Napcat 服务来获取其 WebUI 界面。
登录 QQ:
- 在 Napcat WebUI 界面中,按照提示完成机器人 QQ 账号的登录。请务必先完成登录。
配置反向 WebSocket 连接:
- 登录成功后,在 Napcat 的设置中,找到
OneBot v11或连接设置相关选项。 - 添加一个反向 WebSocket (Reverse WS) 连接。
- 地址填写为:
ws://core:8095💡 关键解析:
core: 这是我们在docker-compose.yml中为 MoFox-Core 服务定义的名字。在 Docker 的内部网络中,服务之间可以通过服务名直接通信,Docker 会自动将其解析到正确的容器 IP。请不要将其修改为localhost或127.0.0.1。8095: 这是 MoFox-Core 的 Napcat 适配器插件默认监听的端口。
- 保存设置。
- 登录成功后,在 Napcat 的设置中,找到
关闭 Napcat:
- 完成配置后,我们可以暂时关闭 Napcat 服务,准备统一启动。bash
docker compose down
- 完成配置后,我们可以暂时关闭 Napcat 服务,准备统一启动。
第五章:启动!——见证奇迹的时刻
所有配置都已完成,现在,是时候唤醒你的机器人了!
最终启动:
- 在
mofox-bot目录下,执行最终的启动命令:bashdocker compose up -d
- 在
观察状态与日志:
- 检查容器状态:bash正常情况下,你应该能看到
docker compose pscore和napcat两个服务的状态都是running或up。 - 实时监控日志:bash通过日志,你可以实时看到机器人的运行状态。当你看到
docker compose logs -fNapcat client connected的日志时,就代表连接成功了。
- 检查容器状态:
测试机器人:
- 打开你的 QQ,向机器人账号发送一条消息,或者在一个它所在的群里
@它。
- 打开你的 QQ,向机器人账号发送一条消息,或者在一个它所在的群里
如果它回复了你,那么……
恭喜你,部署成功!你的第一个 AI Bot 已经正式诞生!
第六章:后续管理与故障排查
6.1 常用管理命令
| 操作 | 命令 |
|---|---|
| 启动服务 | docker compose up -d |
| 停止服务 | docker compose down |
| 重启服务 | docker compose restart |
| 强制重建 | docker compose up -d --force-recreate |
| 查看日志 | docker compose logs -f |
| 查看指定服务日志 | docker compose logs -f core 或 docker compose logs -f napcat |
| 更新镜像 | docker compose pull && docker compose up -d |
6.2 常见问题排查
Q1: 容器启动失败,或状态为 `exited`?
- 检查日志: 执行
docker compose logs core查看核心服务的日志,docker compose logs napcat查看 Napcat 的日志。错误信息通常会直接显示在日志末尾。 - 配置错误: 90% 的启动失败是由于配置文件错误。请仔细检查
docker-config/core/目录下的.env,bot_config.toml,model_config.toml和插件配置是否都已正确配置。 - 端口冲突: 确保宿主机的
6099端口没有被其他程序占用。
Q2: 机器人成功连接,但在 QQ 里不回复?
- 检查模型配置: 确认
docker-config/core/config/model_config.toml里的 API Key 是有效且可用的。 - 查看核心日志:
docker compose logs -f core,当你给机器人发消息时,看看日志是否刷新。ERROR级别的红色错误信息通常能定位到问题所在。 - 检查 Napcat 连接: 确认 Napcat 中的 WebSocket 地址
ws://core:8095填写正确且连接成功。
Q3: 我修改了配置文件,但没有生效?
- 修改
docker-config/core/或docker-config/napcat/目录下的配置文件后,需要重启对应的容器才能生效。bash# 重启所有服务 docker compose restart # 或只重启 core 服务 docker compose restart core - 如果改动较大或不确定,建议使用
down和up来彻底重建:bashdocker compose down docker compose up -d
结语:你的冒险才刚刚开始
至此,你已经成功走完了 MoFox-Core 的 Docker 部署全程。但这仅仅是一个开始。MoFox-Core 的真正魅力,在于其强大的插件系统和可塑性。现在,去探索和配置,打造一个独一无二的 AI 伙伴吧!
