FROM node:22-alpine

RUN corepack enable && corepack prepare pnpm@11.7.0 --activate

WORKDIR /app

COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
RUN pnpm install --frozen-lockfile || pnpm install

COPY . .

ARG NEXT_PUBLIC_APP_MODE
ARG NEXT_PUBLIC_MAPBOX_TOKEN
ARG NEXT_PUBLIC_REDIRECT_URI
ARG NEXT_PUBLIC_VALYU_AUTH_URL
ARG NEXT_PUBLIC_VALYU_CLIENT_ID

ENV NEXT_PUBLIC_APP_MODE=$NEXT_PUBLIC_APP_MODE
ENV NEXT_PUBLIC_MAPBOX_TOKEN=$NEXT_PUBLIC_MAPBOX_TOKEN
ENV NEXT_PUBLIC_REDIRECT_URI=$NEXT_PUBLIC_REDIRECT_URI
ENV NEXT_PUBLIC_VALYU_AUTH_URL=$NEXT_PUBLIC_VALYU_AUTH_URL
ENV NEXT_PUBLIC_VALYU_CLIENT_ID=$NEXT_PUBLIC_VALYU_CLIENT_ID

RUN pnpm run build

EXPOSE 3000

CMD ["pnpm", "start"]
