mirror of
https://github.com/zoo-apps/gym.git
synced 2026-10-30 14:57:09 +00:00
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
35 lines
1.6 KiB
Docker
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
|