2026-03-03 16:09:21 +00:00
|
|
|
# ── 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/.
|
2026-03-06 11:46:01 +00:00
|
|
|
FROM --platform=$BUILDPLATFORM node:22-alpine AS widget-build
|
2026-03-03 16:09:21 +00:00
|
|
|
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
|
|
|
|
|
|
2026-03-06 11:46:01 +00:00
|
|
|
# Runtime brand CSS variable overrides for the estudio theme.
|
|
|
|
|
COPY integration-service/theme.css /usr/share/nginx/html/theme.css
|
|
|
|
|
|
2026-03-03 16:09:21 +00:00
|
|
|
# Nginx config — only services.json is mounted at runtime (from ConfigMap).
|
|
|
|
|
COPY integration-service/nginx.conf /etc/nginx/conf.d/default.conf
|