From 5f85b5d52c729f5a2ddea14f4cce69ffdd4e29d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=98=8E=E5=A4=A9=E5=A5=BD=E5=83=8F=E6=B2=A1=E4=BB=80?= =?UTF-8?q?=E4=B9=88?= Date: Sat, 18 Oct 2025 20:13:01 +0800 Subject: [PATCH] =?UTF-8?q?refactor(docker):=20=E9=87=8D=E6=9E=84=E5=AE=B9?= =?UTF-8?q?=E5=99=A8=E5=8C=96=E9=85=8D=E7=BD=AE=EF=BC=8C=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E5=86=97=E4=BD=99=E6=9C=8D=E5=8A=A1=E5=B9=B6=E8=BF=81=E7=A7=BB?= =?UTF-8?q?=E8=87=B3=20uv=20=E5=8C=85=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 精简 Dockerfile:删除 lpmm 编译步骤,改用 pyproject.toml 与 uv sync - 移除 docker-compose 中的 adapters、sqlite-web 服务,仅保留 core 与 napcat - 统一工作目录与卷挂载路径,由 /MaiMBot 更名为 /InkFox - 网络名称由 maim_bot 改为 mofox - 入口命令切换为 uv run,提升启动速度与依赖隔离 --- Dockerfile | 20 +++------------ docker-compose.yml | 63 ++++++++++------------------------------------ 2 files changed, 17 insertions(+), 66 deletions(-) diff --git a/Dockerfile b/Dockerfile index 172f4cad3..5e9fef0e7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,31 +2,19 @@ FROM python:3.13.5-slim-bookworm COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ # 工作目录 -WORKDIR /mmc +WORKDIR /app # 复制依赖列表 -COPY requirements.txt . -# 同级目录下需要有 maim_message MaiMBot-LPMM -#COPY maim_message /maim_message -COPY MaiMBot-LPMM /MaiMBot-LPMM +COPY pyproject.toml . # 编译器 RUN apt-get update && apt-get install -y build-essential -# lpmm编译安装 -RUN cd /MaiMBot-LPMM && uv pip install --system -r requirements.txt -RUN uv pip install --system Cython py-cpuinfo setuptools -RUN cd /MaiMBot-LPMM/lib/quick_algo && python build_lib.py --cleanup --cythonize --install - # 安装依赖 -RUN uv pip install --system --upgrade pip -#RUN uv pip install --system -e /maim_message -RUN uv pip install --system -r requirements.txt - -# 复制项目代码 +RUN uv sync COPY . . EXPOSE 8000 -ENTRYPOINT [ "python","bot.py" ] \ No newline at end of file +ENTRYPOINT [ "uv","run","bot.py" ] \ No newline at end of file diff --git a/docker-compose.yml b/docker-compose.yml index e4519d30f..89d039a97 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,47 +1,23 @@ services: - adapters: - container_name: maim-bot-adapters - #### prod #### - image: unclas/maimbot-adapter:latest - # image: infinitycat/maimbot-adapter:latest - #### dev #### - # image: unclas/maimbot-adapter:dev - # image: infinitycat/maimbot-adapter:dev - environment: - - TZ=Asia/Shanghai -# ports: -# - "8095:8095" - volumes: - - ./docker-config/adapters/config.toml:/adapters/config.toml # 持久化adapters配置文件 - - ./data/adapters:/adapters/data # adapters 数据持久化 - restart: always - networks: - - maim_bot core: - container_name: maim-bot-core + container_name: InkFox-Bot #### prod #### image: sengokucola/maibot:latest # image: infinitycat/maibot:latest #### dev #### # image: sengokucola/maibot:dev - # image: infinitycat/maibot:dev environment: - TZ=Asia/Shanghai -# - EULA_AGREE=99f08e0cab0190de853cb6af7d64d4de # 同意EULA -# - PRIVACY_AGREE=9943b855e72199d0f5016ea39052f1b6 # 同意EULA -# ports: -# - "8000:8000" volumes: - - ./docker-config/mmc/.env:/MaiMBot/.env # 持久化env配置文件 - - ./docker-config/mmc:/MaiMBot/config # 持久化bot配置文件 - - ./data/MaiMBot/maibot_statistics.html:/MaiMBot/maibot_statistics.html #统计数据输出 - - ./data/MaiMBot:/MaiMBot/data # 共享目录 - - ./data/MaiMBot/plugins:/MaiMBot/plugins # 插件目录 - - ./data/MaiMBot/logs:/MaiMBot/logs # 日志目录 - - site-packages:/usr/local/lib/python3.13/site-packages # 持久化Python包 + - ./docker-config/mmc/.env:/InkFox/.env # 持久化env配置文件 + - ./docker-config/mmc:/InkFox/config # 持久化bot配置文件 + - ./data/InkFox/maibot_statistics.html:/InkFox/maibot_statistics.html #统计数据输出 + - ./data/InkFox:/InkFox/data # 共享目录 + - ./data/InkFox/plugins:/InkFox/plugins # 插件目录 + - ./data/InkFox/logs:/InkFox/logs # 日志目录 restart: always networks: - - maim_bot + - mofox napcat: environment: - NAPCAT_UID=1000 @@ -52,25 +28,12 @@ services: volumes: - ./docker-config/napcat:/app/napcat/config # 持久化napcat配置文件 - ./data/qq:/app/.config/QQ # 持久化QQ本体 - - ./data/MaiMBot:/MaiMBot/data # 共享目录 + - ./data/InkFox:/InkFox/data # 共享目录 container_name: maim-bot-napcat restart: always image: mlikiowa/napcat-docker:latest networks: - - maim_bot - sqlite-web: - # 注意:coleifer/sqlite-web 镜像不支持arm64 - image: coleifer/sqlite-web - container_name: sqlite-web - restart: always - ports: - - "8120:8080" - volumes: - - ./data/MaiMBot:/data/MaiMBot - environment: - - SQLITE_DATABASE=MaiMBot/MaiBot.db # 你的数据库文件 - networks: - - maim_bot + - mofox # chat2db占用相对较高但是功能强大 # 内存占用约600m,内存充足推荐选此 @@ -81,11 +44,11 @@ services: # ports: # - "10824:10824" # volumes: - # - ./data/MaiMBot:/data/MaiMBot + # - ./data/InkFox:/data/InkFox # networks: - # - maim_bot + # - mofox volumes: site-packages: networks: - maim_bot: + mofox: driver: bridge