FROM oven/bun:1 AS builder WORKDIR /app COPY package.json bun.lockb* ./ RUN bun install --frozen-lockfile COPY . . RUN bun run build FROM oven/bun:1-alpine AS runtime WORKDIR /app COPY --from=builder /app/dist ./dist COPY --from=builder /app/server.ts ./server.ts EXPOSE 3000 ENV NODE_ENV=production ENV PORT=3000 ENV NITRO_PORT=3000 HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \ CMD bun -e "fetch('http://localhost:3000/api/health').then(r => r.ok ? process.exit(0) : process.exit(1)).catch(() => process.exit(1))" CMD ["bun", "run", "server.ts"]