# Imagem ÚNICA dual-host dos portais de documentação:
#   - partner-portal (interno, docs.monetarie.internal)  -> default_server
#   - docs-site  (público, docs.monetarie.com)       -> por Host header
# Os DOIS sites são buildados aqui dentro (multi-stage), nada de dist pré-buildado.
#
# Build (contexto = docs/):
#   docker buildx build --platform linux/arm64 --load \
#     -f docs/docs-site/Dockerfile -t monetarie/docs-portal:TAG docs/

FROM node:20-alpine AS build

WORKDIR /build/partner
COPY partner-portal/package.json partner-portal/package-lock.json ./
RUN npm ci
COPY partner-portal/ ./
RUN npm run build

WORKDIR /build/client
COPY docs-site/package.json docs-site/package-lock.json ./
RUN npm ci
COPY docs-site/ ./
RUN npm run build

FROM nginx:1.27-alpine

# Gotcha non-root: pid fora de /run
RUN sed -i 's|/run/nginx.pid|/tmp/nginx.pid|' /etc/nginx/nginx.conf

COPY docs-site/nginx-dualhost.conf /etc/nginx/conf.d/default.conf
COPY --from=build /build/partner/.vitepress/dist/ /usr/share/nginx/html/partner/
COPY --from=build /build/client/.vitepress/dist/ /usr/share/nginx/html/client/

RUN chown -R nginx:nginx /usr/share/nginx/html /var/cache/nginx /var/log/nginx /etc/nginx/conf.d

USER nginx
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]
