FROM node:22-bookworm-slim AS build WORKDIR /app COPY package.json ./ RUN npm install --no-audit --no-fund COPY tsconfig.json ./ COPY src ./src RUN npm run build FROM node:22-bookworm-slim ENV NODE_ENV=production \ DEBIAN_FRONTEND=noninteractive \ PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium RUN apt-get update \ && apt-get install -y --no-install-recommends \ chromium \ ffmpeg \ fonts-noto-cjk \ fonts-vt323 \ ca-certificates \ tini \ && rm -rf /var/lib/apt/lists/* WORKDIR /app COPY package.json ./ RUN npm install --omit=dev --no-audit --no-fund COPY --from=build /app/dist ./dist ENTRYPOINT ["/usr/bin/tini", "--"] CMD ["node", "dist/index.js"]