From 765f14269f312d405faad1439bf94db76e7d9684 Mon Sep 17 00:00:00 2001 From: infinitycat Date: Mon, 31 Mar 2025 23:56:01 +0800 Subject: [PATCH] =?UTF-8?q?build(docker):=20=E9=87=8D=E6=9E=84=20Dockerfil?= =?UTF-8?q?e=20=E5=B9=B6=E6=B7=BB=E5=8A=A0=20docker-compose=20=E9=85=8D?= =?UTF-8?q?=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重构 Dockerfile,使用 python:3.13.2-slim-bookworm 作为基础镜像 - 添加 maim_message目录到镜像中,并使用清华大学镜像源安装依赖 - 新增 docker-compose.yml 文件,定义多服务的 Docker Compose 配置 - 配置包含 adapters、core、mongodb 和 napcat四个服务 - 设置端口映射、环境变量和数据卷 --- Dockerfile | 21 +++++++------- docker-compose.yml | 70 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 81 insertions(+), 10 deletions(-) create mode 100644 docker-compose.yml diff --git a/Dockerfile b/Dockerfile index c4aedc94a..ed4734b8d 100644 --- a/Dockerfile +++ b/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" ] \ No newline at end of file +EXPOSE 8000 +ENTRYPOINT [ "python","bot.py" ] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 000000000..488d3e722 --- /dev/null +++ b/docker-compose.yml @@ -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: \ No newline at end of file