diff --git a/Dockerfile b/Dockerfile index ccdee84..f9fe798 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,14 +1,18 @@ -FROM mirror.gcr.io/library/node:20-bullseye-slim - +# Stage 1: Build +FROM mirror.gcr.io/library/node:20-bullseye-slim AS builder WORKDIR /app - COPY package*.json ./ -RUN npm install - +RUN npm ci --only=production COPY . . - RUN npx prisma generate -EXPOSE 3000 +# Stage 2: Production +FROM mirror.gcr.io/library/node:20-alpine AS production +WORKDIR /app +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/prisma ./prisma +COPY --from=builder /app/src ./src +COPY --from=builder /app/package.json ./ -CMD ["node", "src/server.js"] +EXPOSE 3000 +CMD ["node", "src/server.js"] \ No newline at end of file