build(docker): 重构 Dockerfile 并添加 docker-compose 配置
- 重构 Dockerfile,使用 python:3.13.2-slim-bookworm 作为基础镜像 - 添加 maim_message目录到镜像中,并使用清华大学镜像源安装依赖 - 新增 docker-compose.yml 文件,定义多服务的 Docker Compose 配置 - 配置包含 adapters、core、mongodb 和 napcat四个服务 - 设置端口映射、环境变量和数据卷
This commit is contained in:
21
Dockerfile
21
Dockerfile
@@ -1,18 +1,19 @@
|
||||
FROM nonebot/nb-cli:latest
|
||||
FROM python:3.13.2-slim-bookworm
|
||||
|
||||
# 设置工作目录
|
||||
# 工作目录
|
||||
WORKDIR /MaiMBot
|
||||
|
||||
# 先复制依赖列表
|
||||
# 复制依赖列表
|
||||
COPY requirements.txt .
|
||||
# 同级目录下需要有 maim_message 文
|
||||
COPY maim_message /maim_message
|
||||
|
||||
# 安装依赖(这层会被缓存直到requirements.txt改变)
|
||||
RUN pip install --upgrade -r requirements.txt
|
||||
# 安装依赖
|
||||
RUN pip install -e /maim_message -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
|
||||
RUN pip install --upgrade -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
|
||||
|
||||
# 然后复制项目代码
|
||||
# 复制项目代码
|
||||
COPY . .
|
||||
|
||||
VOLUME [ "/MaiMBot/config" ]
|
||||
VOLUME [ "/MaiMBot/data" ]
|
||||
EXPOSE 8080
|
||||
ENTRYPOINT [ "nb","run" ]
|
||||
EXPOSE 8000
|
||||
ENTRYPOINT [ "python","bot.py" ]
|
||||
70
docker-compose.yml
Normal file
70
docker-compose.yml
Normal file
@@ -0,0 +1,70 @@
|
||||
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/.env:/adapters/.env
|
||||
- ./data/qq:/app/.config/QQ
|
||||
restart: always
|
||||
networks:
|
||||
- maim_bot
|
||||
core:
|
||||
container_name: maim-bot-core
|
||||
image: maimbot-core:latest
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
# - EULA_AGREE=35362b6ea30f12891d46ef545122e84a
|
||||
# - PRIVACY_AGREE=2402af06e133d2d10d9c6c643fdc9333
|
||||
ports:
|
||||
- "8000:8000"
|
||||
volumes:
|
||||
- ./mmc-data:/MaiMBot/data
|
||||
- ./mmc-config/.env:/MaiMBot/.env
|
||||
- ./mmc-config/bot_config.toml:/MaiMBot/config/bot_config.toml
|
||||
- ./data/MaiMBot:/MaiMBot/data
|
||||
restart: always
|
||||
networks:
|
||||
- maim_bot
|
||||
mongodb:
|
||||
container_name: maim-bot-mongo
|
||||
environment:
|
||||
- TZ=Asia/Shanghai
|
||||
ports:
|
||||
- "27017:27017"
|
||||
restart: always
|
||||
volumes:
|
||||
- mongodb:/data/db
|
||||
- mongodbCONFIG:/data/configdb
|
||||
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
|
||||
- ./data/qq:/app/.config/QQ
|
||||
- ./data/MaiMBot:/MaiMBot/data
|
||||
container_name: maim-bot-napcat
|
||||
restart: always
|
||||
image: mlikiowa/napcat-docker:latest
|
||||
networks:
|
||||
- maim_bot
|
||||
networks:
|
||||
maim_bot:
|
||||
driver: bridge
|
||||
volumes:
|
||||
mongodb:
|
||||
mongodbCONFIG:
|
||||
Reference in New Issue
Block a user