FROM node:20-alpine AS builder WORKDIR /app RUN apk add --no-cache python3 make g++ COPY package*.json ./ RUN npm install COPY . . RUN npm run build FROM node:20-alpine AS runner WORKDIR /app ENV NODE_ENV=production RUN apk add --no-cache python3 make g++ COPY package*.json ./ COPY --from=builder /app/node_modules ./node_modules RUN npm prune --omit=dev COPY --from=builder /app/build ./build RUN mkdir -p data EXPOSE 3000 ENV PORT=3000 CMD ["node", "build"]