FROM oven/bun:1.3.14 AS bun

FROM node:24-bookworm-slim AS build

COPY --from=bun /usr/local/bin/bun /usr/local/bin/bun

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
  ca-certificates \
  g++ \
  make \
  python3 \
  && rm -rf /var/lib/apt/lists/*

COPY . .
ARG VITE_AUTH_URL
ARG VITE_CONVEX_URL
ENV VITE_AUTH_URL=$VITE_AUTH_URL
ENV VITE_CONVEX_URL=$VITE_CONVEX_URL
RUN bun install --frozen-lockfile
RUN bun run --filter web build

FROM node:24-bookworm-slim

ENV HOST=0.0.0.0
ENV NODE_ENV=production
ENV PORT=3000

WORKDIR /app/apps/web

COPY --from=build /app /app

EXPOSE 3000

CMD ["node", "node_modules/.bin/react-router-serve", "build/server/index.js"]
