# ── Stage 1: build lagaufre.js from suitenumerique/integration source ────────── # Build context must be the sunbeam/ root so we can reach both # integration/packages/widgets/ and integration-service/. FROM --platform=$BUILDPLATFORM node:22-alpine AS widget-build WORKDIR /src COPY integration/packages/widgets/ . RUN npm ci && npm run build # ── Stage 2: nginx serving all static assets ──────────────────────────────────── FROM nginx:alpine # Official La Suite service logos from the integration package source tree. COPY integration/packages/integration/public/logos/ /usr/share/nginx/html/logos/ # Custom logos for O Estúdio services not in the official La Suite logo set # (drive, mail, people — same two-tone #000091/#e1000f style as upstream). COPY integration-service/logos/ /usr/share/nginx/html/logos/ # Built lagaufre.js v2 widget (11 kB, Shadow DOM, ARIA-compliant popup). COPY --from=widget-build /src/dist/lagaufre.js /usr/share/nginx/html/widget/lagaufre.js # v1-compat gaufre.js — thin wrapper loaded by people-frontend via sub_filter. # Derives its origin from the script URL at runtime; no DOMAIN_SUFFIX baked in. COPY integration-service/gaufre.js /usr/share/nginx/html/gaufre.js # Runtime brand CSS variable overrides for the estudio theme. COPY integration-service/theme.css /usr/share/nginx/html/theme.css # Nginx config — only services.json is mounted at runtime (from ConfigMap). COPY integration-service/nginx.conf /etc/nginx/conf.d/default.conf