FROM node:24-alpine AS build RUN apk add --no-cache openssl WORKDIR /app COPY package.json ./ RUN npm install COPY prisma ./prisma RUN npx prisma generate COPY src ./src COPY tsconfig.json ./ RUN npm run build FROM node:24-alpine RUN apk add --no-cache openssl WORKDIR /app ENV NODE_ENV=production COPY package.json ./ RUN npm install --omit=dev COPY --from=build /app/node_modules/.prisma ./node_modules/.prisma COPY --from=build /app/dist ./dist COPY prisma ./prisma COPY docker-entrypoint.sh ./ RUN chmod +x docker-entrypoint.sh EXPOSE 3333 ENTRYPOINT ["./docker-entrypoint.sh"]