Merge pull request #626 from infinitycat233/refactor

重构 Dockerfile 并添加 docker-compose 配置
This commit is contained in:
SengokuCola
2025-04-01 11:32:12 +08:00
committed by GitHub
2 changed files with 82 additions and 9 deletions

View File

@@ -1,18 +1,19 @@
FROM nonebot/nb-cli:latest FROM python:3.13.2-slim-bookworm
# 设置工作目录 # 工作目录
WORKDIR /MaiMBot WORKDIR /MaiMBot
# 复制依赖列表 # 复制依赖列表
COPY requirements.txt . COPY requirements.txt .
# 同级目录下需要有 maim_message
COPY maim_message /maim_message
# 安装依赖这层会被缓存直到requirements.txt改变 # 安装依赖
RUN pip install -e /maim_message
RUN pip install --upgrade -r requirements.txt RUN pip install --upgrade -r requirements.txt
# 然后复制项目代码 # 复制项目代码
COPY . . COPY . .
VOLUME [ "/MaiMBot/config" ] EXPOSE 8000
VOLUME [ "/MaiMBot/data" ] ENTRYPOINT [ "python","bot.py" ]
EXPOSE 8080
ENTRYPOINT [ "nb","run" ]

72
docker-compose.yml Normal file
View File

@@ -0,0 +1,72 @@
services:
adapters:
container_name: maim-bot-adapters
image: maimbot-adapters:latest
environment:
- TZ=Asia/Shanghai
ports:
- "18002:18002"
volumes:
- ./adapters/plugins:/adapters/src/plugins # 持久化adapters插件
- ./adapters/.env:/adapters/.env # 持久化adapters配置文件
- ./data/qq:/app/.config/QQ # 持久化QQ本体并同步qq表情和图片到adapters
restart: always
networks:
- maim_bot
core:
container_name: maim-bot-core
image: maimbot-core:latest
environment:
- TZ=Asia/Shanghai
# - EULA_AGREE=35362b6ea30f12891d46ef545122e84a # 同意EULA
# - PRIVACY_AGREE=2402af06e133d2d10d9c6c643fdc9333 # 同意EULA
ports:
- "8000:8000"
volumes:
- ./mmc-data:/MaiMBot/data
- ./mmc-config/.env:/MaiMBot/.env # 持久化bot配置文件
- ./mmc-config/bot_config.toml:/MaiMBot/config/bot_config.toml # 持久化bot配置文件
- ./data/MaiMBot:/MaiMBot/data # NapCat 和 NoneBot 共享此卷,否则发送图片会有问题
restart: always
networks:
- maim_bot
mongodb:
container_name: maim-bot-mongo
environment:
- TZ=Asia/Shanghai
# - MONGO_INITDB_ROOT_USERNAME=your_username # 此处配置mongo用户
# - MONGO_INITDB_ROOT_PASSWORD=your_password # 此处配置mongo密码
ports:
- "27017:27017"
restart: always
volumes:
- mongodb:/data/db # 持久化mongodb数据
- mongodbCONFIG:/data/configdb # 持久化mongodb配置文件
image: mongo:latest
networks:
- maim_bot
napcat:
environment:
- NAPCAT_UID=1000
- NAPCAT_GID=1000
- TZ=Asia/Shanghai
ports:
- "3000:3000"
- "3001:3001"
- "6099:6099"
- "8095:8095"
volumes:
- ./napcat-config:/app/napcat/config # 持久化napcat配置文件
- ./data/qq:/app/.config/QQ # 持久化QQ本体并同步qq表情和图片到adapters
- ./data/MaiMBot:/MaiMBot/data # NapCat 和 NoneBot 共享此卷,否则发送图片会有问题
container_name: maim-bot-napcat
restart: always
image: mlikiowa/napcat-docker:latest
networks:
- maim_bot
networks:
maim_bot:
driver: bridge
volumes:
mongodb:
mongodbCONFIG: