diff --git a/Dockerfile b/Dockerfile index c4aedc94a..483892006 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 -e /maim_message RUN pip install --upgrade -r requirements.txt -# 然后复制项目代码 +# 复制项目代码 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..3ad94e067 --- /dev/null +++ b/docker-compose.yml @@ -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: \ No newline at end of file