FROM node:24.16 AS builder
WORKDIR /code

COPY package*.json ./
RUN npm ci

COPY . .

# Khai báo biến môi trường lúc BUILD
ARG NEXT_PUBLIC_API_URL=https://b-meetai.nextit.vn
ARG NEXT_PUBLIC_WS_URL=wss://s-meetai.nextit.vn
ARG NEXT_PUBLIC_APP_URL=https://meetai.nextit.vn
ARG NEXT_PUBLIC_DEFAULT_LANGUAGE=vi

ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
ENV NEXT_PUBLIC_WS_URL=$NEXT_PUBLIC_WS_URL
ENV NEXT_PUBLIC_APP_URL=$NEXT_PUBLIC_APP_URL
ENV NEXT_PUBLIC_DEFAULT_LANGUAGE=$NEXT_PUBLIC_DEFAULT_LANGUAGE

RUN npm run build

FROM node:24.16
WORKDIR /code

# Khai báo lại biến môi trường lúc RUNTIME (Sửa lỗi 502 và digest)
ARG NEXT_PUBLIC_API_URL=https://b-meetai.nextit.vn
ARG NEXT_PUBLIC_WS_URL=wss://s-meetai.nextit.vn
ARG NEXT_PUBLIC_APP_URL=https://meetai.nextit.vn
ARG NEXT_PUBLIC_DEFAULT_LANGUAGE=vi

ENV NEXT_PUBLIC_API_URL=$NEXT_PUBLIC_API_URL
ENV NEXT_PUBLIC_WS_URL=$NEXT_PUBLIC_WS_URL
ENV NEXT_PUBLIC_APP_URL=$NEXT_PUBLIC_APP_URL
ENV NEXT_PUBLIC_DEFAULT_LANGUAGE=$NEXT_PUBLIC_DEFAULT_LANGUAGE

COPY package*.json ./
RUN npm ci --omit=dev && npm cache clean --force

COPY --from=builder /code/.next ./.next
COPY --from=builder /code/public ./public
COPY --from=builder /code/next.config.mjs ./
COPY --from=builder /code/.env.* ./ 

EXPOSE 8002
# Đảm bảo Next.js lắng nghe trên toàn bộ interface trong Docker
ENV PORT=8002
ENV HOSTNAME="0.0.0.0"

CMD ["npm", "run", "start"]