FROM oven/bun:1 AS base

WORKDIR /app

ARG VITE_DOMAIN
ARG VITE_API_BASE_URL
ARG VITE_SIGNUP_ENABLED

ENV VITE_DOMAIN=${VITE_DOMAIN}
ENV VITE_API_BASE_URL=${VITE_API_BASE_URL}
ENV VITE_SIGNUP_ENABLED=${VITE_SIGNUP_ENABLED}

ENV NODE_ENV=production

FROM base AS build

COPY package.json bun.lock ./

RUN bun install --frozen-lockfile

COPY . .

RUN bun run build

FROM nginx:alpine AS server

COPY --from=build /app/dist /usr/share/nginx/html

COPY nginx.conf /etc/nginx/conf.d/default.conf

EXPOSE 80/tcp

ENTRYPOINT ["nginx", "-g", "daemon off;"]