FROM node:20-alpine AS deps

WORKDIR /workspace

COPY PRENOTAZIONI_IA/frontend/package.json PRENOTAZIONI_IA/frontend/package-lock.json* ./
RUN npm ci

FROM node:20-alpine AS builder

WORKDIR /workspace

ARG NEXT_PUBLIC_API_BASE_URL=http://localhost:8100
ENV NEXT_PUBLIC_API_BASE_URL=${NEXT_PUBLIC_API_BASE_URL}
ARG NEXT_PUBLIC_BASE_PATH=
ENV NEXT_PUBLIC_BASE_PATH=${NEXT_PUBLIC_BASE_PATH}
ARG NEXT_PUBLIC_ENABLE_SESSION_QUERY_TOKENS=false
ENV NEXT_PUBLIC_ENABLE_SESSION_QUERY_TOKENS=${NEXT_PUBLIC_ENABLE_SESSION_QUERY_TOKENS}

COPY --from=deps /workspace/node_modules ./node_modules
COPY PRENOTAZIONI_IA/frontend/ ./

RUN npm run build

FROM node:20-alpine AS runner

WORKDIR /app

ENV NODE_ENV=production
ENV PORT=3000

COPY --from=builder /workspace/.next/standalone ./
COPY --from=builder /workspace/.next/static ./.next/static
COPY --from=builder /workspace/public ./public

EXPOSE 3000

CMD ["node", "server.js"]
