Skip to content

📦 Linux 部署

📋 环境要求

  • ⚙️ 最低系统配置:2 核 CPU / 2GB 内存 / 5GB 磁盘空间
  • 🐧 本教程测试环境:Debian Server 12.0 64bit

一、 克隆麦麦,获取必要的文件

  1. 通过 git clone 将 麦麦 repo clone 到本地

  2. 通过 git clone 将 MaiBot-Napcat-Adapter clone 到本地

bash
# 创建一个文件夹
mkdir maimai
cd maimai
git clone https://github.com/MaiM-with-u/MaiBot.git
git clone https://github.com/MaiM-with-u/MaiBot-Napcat-Adapter.git

二、环境配置

确认Python版本

需确保Python版本为3.10及以上

bash
python3 --version

如果版本低于3.10,请更新Python版本。

bash
# 此处以 Python 3.12 为例
# Ubuntu/Debian
sudo apt update
sudo apt install python3.12 python3.12-venv
# 如执行了这一步,建议在执行时将python3指向python3.12
# 更新替代方案,设置 python3.12 为默认的 python3 版本:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12
sudo update-alternatives --config python3

创建虚拟环境

方法1:使用venv(推荐)

bash
python3 -m venv MaiBot/venv      # 创建虚拟环境    
source MaiBot/venv/bin/activate  # 激活环境

方法2:使用conda(需先安装Miniconda或Anaconda)

bash
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
conda create -n MaiBotEnv python=3.12
conda activate MaiBotEnv

三、依赖安装

bash
cd MaiBot
pip install uv -i https://mirrors.aliyun.com/pypi/simple
uv pip install -i https://mirrors.aliyun.com/pypi/simple -r requirements.txt --upgrade

TIP

如果你在这里发现quick_algo安装失败,请参考LPMM 使用说明中手动编译的部分

回到上一级文件夹,再进入MaiBot-Napcat-Adapter文件夹,安装依赖

bash
cd ..
cd MaiBot-Napcat-Adapter
uv pip install -i https://mirrors.aliyun.com/pypi/simple -r requirements.txt --upgrade

四、MaiBot Napcat Adapter 部署

MaiBot-Napcat-Adapter文件夹中

bash
# 复制并重命名文件
cp template/template_config.toml config.toml

最终的文件夹结构应该类似这样:

maimai
├── MaiBot
│   ├── changelogs
│   ├── config
│   ├── data
│   ├── depends-data
│   ├── src
│   │   └── ...
│   └── template
└── MaiBot-Napcat-Adapter
    ├── config.toml
    └── template

五、NapCat配置

安装NapCat框架

六、配置MaiBot和Adapter

MaiBot配置

bash
cd MaiBot
# 创建文件夹
mkdir config
# 复制并重命名配置文件
cp template/bot_config_template.toml config/bot_config.toml
cp template/template.env .env

复制完成后打开.env并修改PORT为8000 随后前往配置指南(最新版)完成配置

如果你想修改这个PORT为其他,点开这里

找到 MaiBot-Napcat-Adapter 下的 config.toml ,打开,修改 MaiBot_Server 字段中的 port 为你想要的端口号

MaiBot Napcat Adapter 配置

  1. 在Napcat中新建websocket客户端并设置反向代理的url(这里以ws://localhost:8095/为例)

IMPORTANT

配置示例:

  1. 打开MaiBot-Napcat-Adapter文件夹下的config.toml,配置[Napcat_Server][MaiBot_Server][Napcat]字段
    • [Napcat_Server]字段的port,应该与Napcat设置的反向代理的url相同(这里是8095)
    • [Napcat_Server]字段的heartbeat,应该与Napcat设置的反向代理的心跳间隔相同(注意,Napcat中的间隔为毫秒,填入时请转化为秒,这里是30)
    • [MaiBot_Server]字段的port,应该与麦麦本体的.env中的PORT相同
toml
[Napcat_Server] # Napcat连接的ws服务设置
host = "localhost" # Napcat设定的主机地址
port = 8095        # Napcat设定的端口
heartbeat = 30     # 与Napcat设置的心跳相同(按秒计)

[MaiBot_Server] # 连接麦麦的ws服务设置
platform_name = "qq" # 标识adapter的名称(必填)
host = "localhost"   # 麦麦在.env文件中设置的主机地址,即HOST字段
port = 8000          # 麦麦在.env文件中设置的端口,即PORT字段
  1. 其余字段请参考 Napcat Adapter 的配置指南

七、配置MongoDB(将在下个版本移除)

安装MongoDB

  1. 安装依赖工具
bash
# Ubuntu/Debian
sudo apt update # 更新apt
sudo apt install -y gnupg curl wget # 下载工具
  1. 导入 MongoDB 官方 GPG 密钥
bash
# 下载并添加密钥(兼容 Debian/Ubuntu)
curl -fsSL https://pgp.mongodb.com/server-7.0.asc | sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
  1. 添加 MongoDB 官方仓库
bash
# 根据系统版本自动匹配仓库(以 Ubuntu 22.04/Debian 12 为例)
# 如果是其他版本,将 `jammy`(Ubuntu)或 `bookworm`(Debian)替换为你的系统代号
OS_CODENAME=$(lsb_release -sc)  # 自动获取系统代号
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/${OS_CODENAME:0:6}/mongodb-org/7.0 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
  1. 更新仓库并安装 MongoDB
bash
sudo apt update
sudo apt install -y mongodb-org

启动与验证服务

  1. 启动 MongoDB 服务
bash
sudo systemctl start mongod
sudo systemctl enable mongod  # 开机自启
  1. 检查运行状态并测试连接
bash
sudo systemctl status mongod  
# 应显示 "Active: active (running)"
mongosh --eval "show dbs"  
# 应列出默认数据库(admin, local)

启动麦麦

启动麦麦核心

到MaiBot下运行python3 bot.py

bash
# 在MaiBot目录下操作
cd MaiBot
python3 bot.py

开一个新窗口或者终端到MaiBot-Napcat-Adapter运行python main.py

bash
cd MaiBot-Napcat-Adapter
python3 main.py

后台运行麦麦

如需在后台运行请使用screen 启动麦麦核心前运行screen -S mmc

bash
cd MaiBot
# 启动一个screen
screen -S mmc
source ../MaiBot/venv/bin/activate  # 激活环境
# 运行mmc
python3 bot.py

等待程序运行至eula检查部分,输入同意confirmed,代表已经阅读并确认同意更新后的EULA和隐私条款

Ctrl+a, 再按d, 即可退出screen, 此时,程序仍在后台执行;

启动麦麦的adapter

bash
cd ../MaiBot-Napcat-Adapter
screen -S mmc-adapter
source ../MaiBot/venv/bin/activate
# 运行adapter
python3 main.py

命令速查表

命令用途
source MaiBot/venv/bin/activate激活Python虚拟环境(使用venv)
conda activate MaiBotEnv激活Python虚拟环境(使用conda)
python3 bot.py启动麦麦核心
python3 main.py启动Napcat适配器

后台运行相关:

命令用途
screen -S mmc创建一个名为mmc的screen会话运行麦麦核心
screen -S mmc-adapter创建一个名为mmc-adapter的screen会话运行适配器
Ctrl+a d退出当前screen会话(程序继续在后台运行)
screen -r mmc重新连接到mmc会话
screen -r mmc-adapter重新连接到mmc-adapter会话
screen -ls查看所有screen会话列表