diff --git a/apps/api/Dockerfile b/apps/api/Dockerfile index 26ef579..cf1969b 100644 --- a/apps/api/Dockerfile +++ b/apps/api/Dockerfile @@ -1,7 +1,7 @@ FROM node:22-alpine AS base # Rebuild the source code only when needed -FROM base +FROM base AS builder WORKDIR /app COPY . . # Install dependencies @@ -13,6 +13,16 @@ RUN cd apps/api && npm run prisma:generate # Build the project RUN npx turbo run build --filter=api +# Copy the built project +FROM base AS runner +WORKDIR /app +COPY --from=builder /app/node_modules ./node_modules +COPY --from=builder /app/package.json ./package.json +COPY --from=builder /app/package-lock.json ./package-lock.json +COPY --from=builder /app/apps/api/package.json ./apps/api/package.json +COPY --from=builder /app/apps/api/dist ./apps/api/dist +COPY --from=builder /app/apps/api/prisma ./apps/api/prisma + EXPOSE 4000 # Start the server ENTRYPOINT [ "npm", "run", "start:api" ]