# syntax=docker/dockerfile:1.7 FROM oven/bun:1.3 AS deps WORKDIR /app COPY package.json bun.lock ./ COPY apps/backend/package.json apps/backend/ COPY apps/frontend/package.json apps/frontend/ COPY packages/api-contract/package.json packages/api-contract/ RUN bun install --frozen-lockfile FROM deps AS build WORKDIR /app COPY . . ARG VITE_API_BASE_URL ARG VITE_SUPABASE_URL ARG VITE_SUPABASE_ANON_KEY ENV VITE_API_BASE_URL=${VITE_API_BASE_URL} ENV VITE_SUPABASE_URL=${VITE_SUPABASE_URL} ENV VITE_SUPABASE_ANON_KEY=${VITE_SUPABASE_ANON_KEY} ARG DATABASE_URL=postgresql://placeholder:placeholder@placeholder:5432/placeholder ENV DATABASE_URL=${DATABASE_URL} RUN bun run build:frontend RUN bun --cwd apps/backend prisma generate FROM deps AS runner WORKDIR /app ENV NODE_ENV=production HOST=0.0.0.0 PORT=3000 COPY --from=build /app/node_modules ./node_modules COPY --from=build /app/apps/backend ./apps/backend COPY --from=build /app/packages ./packages COPY package.json ./ WORKDIR /app/apps/backend EXPOSE 3000 CMD ["sh", "-lc", "bun run prisma migrate deploy && bun src/server.ts"]