Skip to content

Docker 部署

准备工作

MaiBot Docker 部署需要 Docker 和 Docker Compose,以及至少 2GB 可用内存。支持 Linux、macOS 以及 Windows(通过 Docker Desktop)。

先验证一下你的环境:

bash
docker --version
docker compose version

如果还没装好,可以参考官方文档:

国内用户

国内服务器可以使用一键安装脚本:

bash
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)

Docker Compose

这是推荐的部署方式。

使用官方 docker-compose.yml

MaiBot 仓库中提供了完整的 docker-compose.yml,直接下载即可:

bash
curl -o docker-compose.yml https://raw.githubusercontent.com/Mai-with-u/MaiBot/main/docker-compose.yml
bash
wget -O docker-compose.yml https://raw.githubusercontent.com/Mai-with-u/MaiBot/main/docker-compose.yml

官方配置包含了 MaiBot 核心、NapCat 和数据库工具,适合大多数用户。

使用精简配置

如果你只需要 MaiBot 核心,不需要 NapCat 和数据库工具,可以用以下精简配置:

yaml
services:
  core:
    container_name: maim-bot-core
    image: sengokucola/maibot:latest
    environment:
      - TZ=Asia/Shanghai
      - EULA_AGREE=8e6e7d647f7f82d6ea98456b73908656
      - PRIVACY_AGREE=91e5db7659c560bc3545e63859b6ebc0
      - WEBUI_HOST=0.0.0.0
    ports:
      - "18001:8001"
    volumes:
      - ./docker-config/mmc:/MaiMBot/config
      - ./data/MaiMBot:/MaiMBot/data
      - ./data/MaiMBot/plugins:/MaiMBot/plugins
      - ./data/MaiMBot/logs:/MaiMBot/logs
    restart: always

启动

bash
docker compose up -d

第一次启动会自动生成配置文件。

数据存储位置

  • 配置文件./docker-config/mmc/
  • 运行数据./data/MaiMBot/
  • 插件./data/MaiMBot/plugins/
  • 日志./data/MaiMBot/logs/

端口说明

  • WebUI — 18001(映射到容器内 8001)

WARNING

WebUI 的 host 默认值是 127.0.0.1,在 Docker 容器内这意味着只有容器自身能访问。Docker 部署时务必将 host 改为 0.0.0.0

TIP

如果你的服务器安装的是独立版 Docker Compose,命令需要写成 docker-compose(带短横线)而不是 docker compose

Docker 镜像直接部署

如果你只想快速拉取镜像运行,不需要修改任何配置,可以用这种方式:

bash
docker pull sengokucola/maibot:latest

然后直接运行容器:

bash
docker run -d \
  --name maim-bot-core \
  -p 18001:8001 \
  -e TZ=Asia/Shanghai \
  -e EULA_AGREE=8e6e7d647f7f82d6ea98456b73908656 \
  -e PRIVACY_AGREE=91e5db7659c560bc3545e63859b6ebc0 \
  -e WEBUI_HOST=0.0.0.0 \
  -v ./docker-config/mmc:/MaiMBot/config \
  -v ./data/MaiMBot:/MaiMBot/data \
  -v ./data/MaiMBot/plugins:/MaiMBot/plugins \
  -v ./data/MaiMBot/logs:/MaiMBot/logs \
  --restart always \
  sengokucola/maibot:latest

这种方式只启动 MaiBot 核心。如果你还需要 NapCat 和数据库工具,建议用 Docker Compose 部署。

Docker 源码构建

如果你需要修改源码,或者无法直接从 Docker Hub 拉取镜像,可以选择本地构建:

bash
git clone https://github.com/Mai-with-u/MaiBot.git

进入文件夹,构建镜像:

bash
docker build -t maibot .

运行容器,命令和镜像直接部署相同,只是把镜像名换成本地构建的 maibot

bash
docker run -d \
  --name maim-bot-core \
  -p 18001:8001 \
  -e TZ=Asia/Shanghai \
  -e EULA_AGREE=8e6e7d647f7f82d6ea98456b73908656 \
  -e PRIVACY_AGREE=91e5db7659c560bc3545e63859b6ebc0 \
  -e WEBUI_HOST=0.0.0.0 \
  -v ./docker-config/mmc:/MaiMBot/config \
  -v ./data/MaiMBot:/MaiMBot/data \
  -v ./data/MaiMBot/plugins:/MaiMBot/plugins \
  -v ./data/MaiMBot/logs:/MaiMBot/logs \
  --restart always \
  maibot

进入 WebUI

启动后,MaiBot 会自动打开 WebUI 服务。打开浏览器,访问以下地址(把 本机IP 换成你的服务器地址,本机就是 localhost):

http://本机IP:18001

首次启动时,容器日志中会打印出 WebUI 的登录 Token,类似于这样:

07-30 18:53:45 [WebUI] WebUI 配置文件不存在,正在创建: /MaiMBot/data/webui.json
07-30 18:53:45 [WebUI] WebUI 配置已保存到: /MaiMBot/data/webui.json
07-30 18:53:45 [WebUI] 新的 WebUI Token 已生成: QSwgc2Vu...
07-30 18:53:45 [WebUI应用] 🔑 WebUI 登录 Token: 5YWz5rOo5Y+v5LmQ5Za1fiDlhbPms6jlj6/kuZDosKLosKLllrXvvIE=
07-30 18:53:45 [WebUI应用] 💡 请使用此 Token 登录 WebUI
07-30 18:53:45 [WebUI服务] 🌐 WebUI 服务器启动中...

用以下命令查看容器日志:

bash
docker compose logs core

复制日志中的 Token,在浏览器登录页面粘贴即可进入 WebUI。后续可以在 data/webui.json 中查看或修改 Token。

进入 WebUI 后,跟随配置向导完成模型配置和平台连接即可。

配置模型和连接 QQ 的详细步骤,参考 模型配置适配器