commit 974b29ff14dec2ed835226d70ca641f7ae4b7da8
parent cc654766e3585d0d462b2cc7f210083e067a4175
Author: I Mean I'm Just Saying <imeanimjustsaying@kiwifarms.st>
Date: Tue, 6 Oct 2026 08:25:17 -0400
docker: .env.example names the publish credentials, the yt-dlp substitution and the source mirror's mount
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Diffstat:
| M | .env.example | | | 71 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++- |
1 file changed, 70 insertions(+), 1 deletion(-)
diff --git a/.env.example b/.env.example
@@ -86,9 +86,72 @@
# Run `yt-dlp -U` on every boot. An image pins yt-dlp at build time and a stale
# yt-dlp is the most common reason downloads start failing. Off by default
-# because it is a network call at startup.
+# because it is a network call at startup. It updates the IMAGE's yt-dlp only:
+# with YTDLP_BIN pointing elsewhere (below) it warns and leaves that one alone.
#YTDLP_AUTO_UPDATE=1
+# ---------------------------------------------------------------------------
+# Substituting yt-dlp (your own build, no image rebuild)
+# ---------------------------------------------------------------------------
+# The image ships the release yt-dlp at /usr/local/bin/yt-dlp
+# (ARCHILYZER_IMAGE_YTDLP — baked, do not set it). To run another one, point
+# YTDLP_BIN at it. Two ways:
+#
+# a zipapp built on the host (`make yt-dlp` in a yt-dlp checkout; it runs on
+# the image's python3), copied into the config volume:
+# docker compose exec editor mkdir -p /data/config/bin
+# docker compose cp ./yt-dlp editor:/data/config/bin/yt-dlp
+# docker compose exec editor chmod 755 /data/config/bin/yt-dlp
+#YTDLP_BIN=/data/config/bin/yt-dlp
+#
+# a SOURCE checkout, run with the image's python — set the checkout's host
+# path and start with the overlay, which sets YTDLP_BIN for you:
+# docker compose -f docker-compose.yml -f docker-compose.ytdlp.yml up -d
+#YTDLP_SOURCE_HOST_DIR=/home/you/yt-dlp-patched
+#
+# Every editor boot logs `yt-dlp: <path> <version> (image|override)`.
+
+# ---------------------------------------------------------------------------
+# Publishing to Cloudflare (deploys run IN the container)
+# ---------------------------------------------------------------------------
+# The editor reads these and every publish stage it runs inherits them. Values
+# are never printed — `docker compose exec editor pnpm archilyzer doctor` says
+# only whether each is set. A container has no browser for `wrangler login`, so
+# deploying from one needs the token.
+#
+# An API token with "Cloudflare Pages: Edit" (dash.cloudflare.com → My Profile →
+# API Tokens), and your account id.
+#CLOUDFLARE_API_TOKEN=
+#CLOUDFLARE_ACCOUNT_ID=
+#
+# R2 S3 credentials — only when Settings → archive storage names a bucket for
+# oversize archive zips.
+#R2_ACCESS_KEY_ID=
+#R2_SECRET_ACCESS_KEY=
+#
+# The wrangler deploys run. Default: the one pinned in the workspace
+# (common/node_modules/.bin/wrangler); nothing is fetched at deploy time.
+#WRANGLER_BIN=
+#
+# Driving the editor from a shell or an agent (`pnpm ops`, the MCP's
+# fetch_clip): the bearer token /api/ops/* and /api/worker/* answer to. Unset,
+# both surfaces are off.
+#WORKER_TOKEN=
+
+# ---------------------------------------------------------------------------
+# The homepage's /source mirror (optional)
+# ---------------------------------------------------------------------------
+# Publishing the homepage mirrors this repo's `main`, and the image has no .git.
+# docker-compose.source.yml mounts the host's git dir read-only and sets
+# ARCHILYZER_SOURCE_REPO=/data/source.git for you. Default `./.git`; in a git
+# worktree, the primary checkout's `.git`.
+#ARCHILYZER_SOURCE_HOST_DIR=./.git
+#
+# The scrub rules and denylist it needs live in ARCHILYZER_CONFIG_DIR, which
+# docker-compose.yml sets to /data/config/archilyzer (the config volume):
+# docker compose cp source-scrub.txt editor:/data/config/archilyzer/
+# docker compose cp source-denylist.txt editor:/data/config/archilyzer/
+
# Boot the editor WITHOUT resuming the schedulers, the auto-queue runners or the
# digest/backfill sweeps. Set this the first time you point a container at a
# corpus somebody else configured: its stored policies may say "sweep", and you
@@ -107,3 +170,9 @@
# Image
# ---------------------------------------------------------------------------
#ARCHILYZER_TAG=local
+#
+# Which commit and branch the image is built from, baked in for the publish
+# stamps (the image has no .git). Usually passed from the shell instead:
+# ARCHILYZER_COMMIT=$(git rev-parse HEAD) ARCHILYZER_BRANCH=$(git branch --show-current) docker compose build
+#ARCHILYZER_COMMIT=
+#ARCHILYZER_BRANCH=