FROM docker.io/oven/bun:alpine AS base ENV NODE_ENV=production RUN apk add openssl WORKDIR /app RUN chown -R bun:bun /app USER bun COPY tsconfig.build.json ./ COPY tsconfig.json ./ COPY package.json ./ COPY bun.lock ./ RUN bun install --ignore-scripts --production --frozen-lockfile FROM base AS builder COPY prisma ./prisma/ RUN bunx prisma generate COPY . . RUN bun run build FROM base AS runner COPY --from=builder /app/dist ./dist COPY --from=builder /app/prisma ./prisma EXPOSE 4000 CMD bun prisma migrate deploy && bun run start:prod