bracket-backend/Dockerfile
2025-02-07 14:44:02 +01:00

35 lines
636 B
Docker

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
COPY --from=builder /app/node_modules/.prisma/client ./node_modules/.prisma/client
EXPOSE 4000
CMD bun prisma migrate deploy && bun run start:prod