diff --git a/Dockerfile-cn b/Dockerfile-cn index 199159e..ab61259 100644 --- a/Dockerfile-cn +++ b/Dockerfile-cn @@ -3,11 +3,13 @@ FROM python:3.11-slim-bookworm # 设置标签信息 LABEL maintainer="zhinianboke" -LABEL version="2.1.0" +LABEL version="2.2.0" LABEL description="闲鱼自动回复系统 - 企业级多用户版本,支持自动发货和免拼发货" LABEL repository="https://github.com/zhinianboke/xianyu-auto-reply" LABEL license="仅供学习使用,禁止商业用途" LABEL author="zhinianboke" +LABEL build-date="" +LABEL vcs-ref="" # 设置工作目录 WORKDIR /app @@ -18,9 +20,15 @@ ENV PYTHONDONTWRITEBYTECODE=1 ENV TZ=Asia/Shanghai ENV DOCKER_ENV=true ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright -# DrissionPage环境变量 + +# 无头浏览器环境变量 ENV DISPLAY=:99 ENV CHROME_BIN=/usr/bin/chromium +ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=0 +ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright + +# 禁用GPU和图形加速,适合容器环境 +ENV CHROME_FLAGS="--no-sandbox --disable-dev-shm-usage --disable-gpu --disable-software-rasterizer --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-renderer-backgrounding --disable-features=TranslateUI --disable-extensions --disable-default-apps --disable-sync --disable-translate --hide-scrollbars --mute-audio --no-default-browser-check --no-pings --single-process" #更换中科大源 RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources @@ -84,12 +92,13 @@ RUN apt-get update && \ && rm -rf /tmp/* \ && rm -rf /var/tmp/* -# 设置时区 -RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone # 降低编译内存占用(针对 Nuitka 构建阶段) ENV CFLAGS="-O1" \ CXXFLAGS="-O1" +# 设置时区 +RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone + # 验证Node.js安装并设置环境变量 RUN node --version && npm --version @@ -97,7 +106,7 @@ 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&& \ +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 # 复制项目文件 @@ -111,6 +120,9 @@ RUN playwright install chromium && \ RUN mkdir -p /app/logs /app/data /app/backups /app/static/uploads/images && \ chmod 777 /app/logs /app/data /app/backups /app/static/uploads /app/static/uploads/images +# 配置系统限制,防止core文件生成 +RUN echo "ulimit -c 0" >> /etc/profile + # 注意: 为了简化权限问题,使用root用户运行 # 在生产环境中,建议配置适当的用户映射 @@ -121,9 +133,10 @@ EXPOSE 8080 HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \ CMD curl -f http://localhost:8080/health || exit 1 -# 复制启动脚本 +# 复制启动脚本并设置权限 COPY entrypoint.sh /app/entrypoint.sh -RUN chmod +x /app/entrypoint.sh +RUN chmod +x /app/entrypoint.sh && \ + dos2unix /app/entrypoint.sh 2>/dev/null || true -# 启动命令 -CMD ["/app/entrypoint.sh"] +# 启动命令(使用ENTRYPOINT确保脚本被执行) +ENTRYPOINT ["/bin/bash", "/app/entrypoint.sh"] diff --git a/utils/xianyu_slider_stealth.cpython-311-x86_64-linux-gnu.so b/utils/xianyu_slider_stealth.cpython-311-x86_64-linux-gnu.so new file mode 100644 index 0000000..d67848c Binary files /dev/null and b/utils/xianyu_slider_stealth.cpython-311-x86_64-linux-gnu.so differ