diff --git a/Dockerfile-cn b/Dockerfile-cn new file mode 100644 index 0000000..e051bb1 --- /dev/null +++ b/Dockerfile-cn @@ -0,0 +1,124 @@ +# 使用Python 3.11作为基础镜像 +FROM python:3.11-slim + +# 设置标签信息 +LABEL maintainer="zhinianboke" +LABEL version="2.1.0" +LABEL description="闲鱼自动回复系统 - 企业级多用户版本,支持自动发货和免拼发货" +LABEL repository="https://github.com/zhinianboke/xianyu-auto-reply" +LABEL license="仅供学习使用,禁止商业用途" +LABEL author="zhinianboke" + +# 设置工作目录 +WORKDIR /app + +# 设置环境变量 +ENV PYTHONUNBUFFERED=1 +ENV PYTHONDONTWRITEBYTECODE=1 +ENV TZ=Asia/Shanghai +ENV DOCKER_ENV=true +ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright + +#更换中科大源 +RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources + +# 安装系统依赖(包括Playwright浏览器依赖) +RUN apt-get update && \ + apt-get install -y --no-install-recommends \ + # 基础工具 + nodejs \ + npm \ + tzdata \ + curl \ + ca-certificates \ + # 图像处理依赖 + libjpeg-dev \ + libpng-dev \ + libfreetype6-dev \ + fonts-dejavu-core \ + fonts-liberation \ + # Playwright浏览器依赖 + libnss3 \ + libnspr4 \ + libatk-bridge2.0-0 \ + libdrm2 \ + libxkbcommon0 \ + libxcomposite1 \ + libxdamage1 \ + libxrandr2 \ + libgbm1 \ + libxss1 \ + libasound2 \ + libatspi2.0-0 \ + libgtk-3-0 \ + libgdk-pixbuf2.0-0 \ + libxcursor1 \ + libxi6 \ + libxrender1 \ + libxext6 \ + libx11-6 \ + libxft2 \ + libxinerama1 \ + libxtst6 \ + libappindicator3-1 \ + libx11-xcb1 \ + libxfixes3 \ + xdg-utils \ + && apt-get clean \ + && rm -rf /var/lib/apt/lists/* \ + && rm -rf /tmp/* \ + && rm -rf /var/tmp/* + +# 设置时区 +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + +# 验证Node.js安装并设置环境变量 +RUN node --version && npm --version +ENV NODE_PATH=/usr/lib/node_modules + +# 复制requirements.txt并安装Python依赖 +COPY requirements.txt . +RUN pip install --no-cache-dir --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple&& \ + pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple + +# 复制项目文件 +COPY . . + +# 安装Playwright浏览器(必须在复制项目文件之后) +RUN playwright install chromium && \ + playwright install-deps chromium + +# 创建必要的目录并设置权限 +RUN mkdir -p /app/logs /app/data /app/backups && \ + chmod 777 /app/logs /app/data /app/backups + +# 注意: 为了简化权限问题,使用root用户运行 +# 在生产环境中,建议配置适当的用户映射 + +# 暴露端口 +EXPOSE 8080 + +# 健康检查 +HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ + CMD curl -f http://localhost:8080/health || exit 1 + +# 创建启动脚本 +COPY <