# Build stage FROM node:20-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run prisma:generate RUN npm run server:build # Production stage FROM node:20-alpine WORKDIR /app ENV NODE_ENV=production COPY package*.json ./ RUN npm ci COPY --from=builder /app/server/dist ./server/dist COPY --from=builder /app/server/src ./server/src COPY --from=builder /app/server/prisma ./server/prisma COPY --from=builder /app/prisma.config.ts ./prisma.config.ts COPY --from=builder /app/node_modules/.prisma ./node_modules/.prisma COPY scripts/docker-api-entrypoint.sh ./scripts/docker-api-entrypoint.sh RUN chmod +x ./scripts/docker-api-entrypoint.sh EXPOSE 3100 CMD ["./scripts/docker-api-entrypoint.sh"]