# syntax=docker/dockerfile:1 FROM node:20-alpine AS base WORKDIR /app FROM base AS deps COPY package*.json ./ RUN npm install FROM deps AS build COPY . . RUN npm run build FROM node:20-alpine AS runtime WORKDIR /app ENV NODE_ENV=production ENV PORT=3001 COPY package*.json ./ COPY --from=deps /app/node_modules ./node_modules RUN npm prune --omit=dev COPY --from=build /app/dist ./dist COPY ./server.js ./server.js EXPOSE 3001 CMD ["node", "server.js"]