FROM node:20 WORKDIR /app RUN set -ex \ && sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/debian.sources \ && apt update \ && apt install -y --no-install-recommends libasound2 libgbm1 libxrandr2 libxfixes3 libxdamage1 libxcomposite1 libxkbcommon0 libcups2 libatk-bridge2.0-0 libdbus-1-3 libnss3 libnspr4 libcairo2 libpango-1.0-0 fonts-noto-cjk fonts-wqy-zenhei fonts-liberation \ && rm -rf /var/lib/apt/lists/* \ && apt clean RUN npm config set registry https://registry.npmmirror.com \ && npm install -g pnpm COPY ./.puppeteerrc.cjs ./ COPY ./package.json ./ RUN pnpm install \ && pnpm approve-builds RUN ./node_modules/.bin/puppeteer browsers install chrome --base-url=https://registry.npmmirror.com/-/binary/chrome-for-testing COPY ./lib ./lib COPY ./server.mjs ./ EXPOSE 3000 CMD ["node", "server.mjs"]