Files
gym/Dockerfile.site
zeekayandzooqueen f76b49caa6 docs: render gym.zoo.ngo site framework-free (drop ML-introspecting autodoc)
quarto render now succeeds CPU-only with no framework import:
- _quarto.yml: drop pre-render config generator + quartodoc API block
  (both require importing torch/transformers + GPU-only mamba_ssm)
- docs/config-reference.qmd: hand-written reference (force-tracked) so the
  six in-doc links resolve
- docs/custom_integrations.qmd: fix hardcoded src/axolotl -> src/gym path
- Dockerfile.site: slim quarto+jupyter build, serve _site via hanzoai/spa
- deploy/k8s.yaml: zoo-gym Deployment+Service+IngressRoute in zoo-mainnet
2026-09-11 13:50:57 -07:00

35 lines
1.6 KiB
Docker

# Zoo Gym — documentation site (Quarto) served static via ghcr.io/hanzoai/spa.
#
# Renders the hand-written Quarto docs to _site/ and serves them on :3000 via
# the canonical Zoo/Hanzo static server. The build is intentionally CPU-only and
# framework-free: `quarto render` needs only the Quarto CLI plus a Python kernel
# for the two doc cells that splice in README/integration markdown (stdlib only).
#
# The auto-generated API reference (quartodoc) and config reference are NOT built
# here: both require importing the training framework (torch + transformers +
# GPU-only mamba_ssm), which is out of scope for serving the docs site. See LLM.md.
# ─── Build stage ─────────────────────────────────────────────────────
FROM python:3.11-slim AS build
ARG QUARTO_VERSION=1.6.40
RUN apt-get update -qq \
&& apt-get install -y -qq --no-install-recommends curl ca-certificates \
&& curl -fsSL "https://github.com/quarto-dev/quarto-cli/releases/download/v${QUARTO_VERSION}/quarto-${QUARTO_VERSION}-linux-amd64.deb" -o /tmp/quarto.deb \
&& apt-get install -y -qq /tmp/quarto.deb \
&& rm -f /tmp/quarto.deb \
&& rm -rf /var/lib/apt/lists/*
# Jupyter provides the Python kernel Quarto uses to execute the two stdlib-only
# doc cells (index.qmd splices README.md; custom_integrations.qmd lists plugins).
RUN pip install --no-cache-dir jupyter
WORKDIR /app
COPY . .
RUN quarto render
# ─── Runtime: static site via hanzoai/spa (serves /public on :3000) ──
FROM ghcr.io/hanzoai/spa:1.2.0
COPY --from=build /app/_site /public