# ─── Fluksio docs site (zensical) ─── # Multi-stage: build the static documentation with zensical, serve it with Nginx. # Routed to docs.${DOMAIN} by the `docs` service in compose.yml. The runtime # image is just Nginx + static files (no Python), mirroring the SPA approach. # ── Stage 1: Build the static site ─────────────────────────────── FROM python:3.13-slim AS docs-build # Pin zensical so a rebuild is reproducible (it is only a build-time tool). RUN pip install --no-cache-dir zensical==0.0.46 WORKDIR /docs COPY zensical.toml ./ COPY docs/ ./docs/ RUN zensical build --clean # ── Stage 2: Serve static files ────────────────────────────────── FROM nginx:alpine COPY docker/nginx.docs.conf /etc/nginx/conf.d/default.conf COPY --from=docs-build /docs/site /usr/share/nginx/html EXPOSE 80