FROM node:20-alpine AS deps COPY package.json package-lock.json /app/ WORKDIR /app RUN npm ci FROM node:20-alpine AS build COPY . /app/ COPY --from=deps /app/node_modules /app/node_modules WORKDIR /app RUN npm run build FROM node:20-slim WORKDIR /app COPY package.json package-lock.json ./ RUN npm ci --omit=dev COPY --from=build /app/build ./build RUN npx playwright install chromium --with-deps RUN mkdir -p /app/data EXPOSE 3000 CMD ["npm", "start"]