bracket-backend/Dockerfile

36 lines
689 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 bun install --ignore-scripts --frozen-lockfile && 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 dist/src/app