FROM ghcr.io/andclear/q_q:main # 用于添加额外的apt包 ARG APT_PACKAGES="" # 用于添加额外的pip包 ARG PIP_PACKAGES="matplotlib jmcomic browser_cookie3 img2pdf kwmatcher aiosqlite playwright python-telegram-bot telegramify-markdown" USER root # 1. 安装所有必要依赖(包含虚拟X服务器和字体库) RUN apt-get update && apt-get install -y \ git \ jq \ curl \ libnss3 \ libnspr4 \ libatk1.0-0 \ libatk-bridge2.0-0 \ libcups2 \ libdrm2 \ libxkbcommon0 \ libxcomposite1 \ libxdamage1 \ libxfixes3 \ libxrandr2 \ libgbm1 \ libasound2 \ libatspi2.0-0 \ libwayland-client0 \ xvfb \ libpci-dev \ fonts-freefont-ttf \ fontconfig \ xauth \ dbus \ ${APT_PACKAGES} \ && rm -rf /var/lib/apt/lists/* # 2. 配置缓存目录权限 RUN mkdir -p /.cache && chmod 777 /.cache # 3. 安装Python依赖 RUN if [ ! -z "${PIP_PACKAGES}" ]; then pip install ${PIP_PACKAGES}; fi # 4. 安装Playwright浏览器(使用虚拟显示) ENV PLAYWRIGHT_BROWSERS_PATH=/app/ms-playwright RUN playwright install --with-deps firefox \ && chmod -R 777 /app/ms-playwright # 5. 设置运行时环境变量 ENV DISPLAY=:99 ENV FONTCONFIG_PATH=/etc/fonts ENV DBUS_SESSION_BUS_ADDRESS=/dev/null