FROM node:20-slim AS builder WORKDIR /app COPY package*.json ./ RUN npm ci COPY tsconfig.json ./ COPY src/ ./src/ RUN npx tsc FROM node:20-slim RUN apt-get update && apt-get install -y chromium fonts-freefont-ttf --no-install-recommends && rm -rf /var/lib/apt/lists/* ENV PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium WORKDIR /app COPY --from=builder /app/dist ./dist COPY --from=builder /app/node_modules ./node_modules COPY package*.json ./ COPY public/ ./public/ EXPOSE 3000 CMD ["node", "dist/index.js"]