commit b133a4a0db4e11fa7ae95633484398c9073bb625
parent 40add8319e7ef60697d76ddaf1b4eb70819d19a7
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Fri, 25 Sep 2026 11:10:29 -0400
docker: build-site.sh and publish-site.sh call archilyzer build site
build-site.sh (the per-site container entrypoint) runs build site
"$SITE_ID" --nodata instead of export's deleted build:nodata; publish-site.sh
runs the full build site "$SITE_ID". Dockerfile.build needs no change: it
bakes the source with COPY . . and installs common's devDependencies (tsx),
and ensureBuildImage rebuilds the image from cached layers before every
docker fan-out, so the new script never meets an old image there.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/docker/build-site.sh b/docker/build-site.sh
@@ -34,10 +34,11 @@ rm -rf export/.next
ln -s /site/.next export/.next
echo "[build-site] building site '${SITE_ID}'"
-# build:nodata = compose:site + next build, WITHOUT the prebuild data phase
-# (already done on the host). SITE_ID selects the site in compose-site.ts.
-# compose writes straight into the mounted /site/public (EXPORT_PUBLIC_DIR).
-pnpm --filter export run build:nodata
+# `build site --nodata` = compose:site + next build, WITHOUT the data phase
+# (already done on the host). compose writes straight into the mounted
+# /site/public (EXPORT_PUBLIC_DIR). BUILD_ARCHIVES=0 (from `-e`) still reaches
+# compose through the environment.
+pnpm --filter yt-dlp-transcript-common exec tsx bin/archilyzer.ts build site "${SITE_ID}" --nodata
# next build writes export/out as a FRESH real dir (it removes+recreates out, so
# a symlink there wouldn't survive) — publish it into the per-site mount. Reached
diff --git a/docker/publish-site.sh b/docker/publish-site.sh
@@ -6,9 +6,8 @@
#
# Why this exists rather than a baked build: the export site is a static render
# OF A CORPUS, and there is no corpus at image-build time — so the image ships
-# the code and this publishes the output. It is the same `pnpm --filter export
-# run build` a host install runs; the only container-specific part is the copy
-# at the end.
+# the code and this publishes the output. It is the same `archilyzer build site`
+# a host install runs; the only container-specific part is the copy at the end.
#
# The copy is a copy and not a symlink on purpose. `next build` REMOVES and
# recreates export/out (docker/build-site.sh has the same note), so a symlink
@@ -33,9 +32,9 @@ export SITE_ID
cd /repo
echo "[publish-site] building '${SITE_ID}'"
-# The full build: prebuild (shared LMDB index + stats + chart templates), then
-# compose:site for THIS site, then next build.
-pnpm --filter export run build
+# The full build: the data phase (shared LMDB index + stats + chart
+# templates), then compose:site for THIS site, then next build.
+pnpm --filter yt-dlp-transcript-common exec tsx bin/archilyzer.ts build site "${SITE_ID}"
[ -d /repo/export/out ] || { echo "[publish-site] no export/out after build" >&2; exit 1; }