FROM node:20-alpine AS base WORKDIR /app RUN apk add --no-cache libc6-compat openssl RUN npm install -g bun # Install dependencies COPY package.json bun.lock* bun.lockb* ./ COPY prisma ./prisma/ RUN bun install --frozen-lockfile # Copy source COPY . . # Generate Prisma client RUN bunx prisma generate --schema=./prisma/schema.prisma # Build the application ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 RUN bun run build EXPOSE 3000 ENV PORT=3000 ENV HOSTNAME=0.0.0.0 HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ CMD wget --no-verbose --tries=1 --spider http://localhost:3000 || exit 1 CMD ["bun", "run", "start"]