Commit3a94bccunknown_key
Merge: ship public/ assets so /gluecron.dxt stops 404ing
Merge: ship public/ assets so /gluecron.dxt stops 404ing Brings the Dockerfile fix (COPY public/ + extension/ + build the .dxt bundle at image build) into main so the box auto-deploys it and the synthetic uptime monitor goes green. https://claude.ai/code/session_01QKaJBYpD6DGErWHrRVChkf
1 file changed+13−33a94bcce320b1977a6a27c0b2b372638eefb10ba
1 changed file+13−3
ModifiedDockerfile+13−3View fileUnifiedSplit
@@ -2,10 +2,11 @@ FROM oven/bun:1.3 AS base
22WORKDIR /app
33
44# Install git (required for ALL git operations — clone, push, branch/tree
5# listing, diffs). Verify it landed: a missing binary here must fail the
6# build loudly rather than ship an image that 500s on every repo page.
5# listing, diffs) and zip (used to package the Claude Desktop .dxt bundle at
6# build time). Verify git landed: a missing binary here must fail the build
7# loudly rather than ship an image that 500s on every repo page.
78RUN apt-get update \
8 && apt-get install -y --no-install-recommends git ca-certificates \
9 && apt-get install -y --no-install-recommends git ca-certificates zip \
910 && rm -rf /var/lib/apt/lists/* \
1011 && git --version
1112
@@ -17,10 +18,19 @@ RUN bun install --frozen-lockfile --production
1718COPY src/ ./src/
1819COPY drizzle/ ./drizzle/
1920COPY scripts/ ./scripts/
21COPY extension/ ./extension/
22COPY public/ ./public/
2023COPY tsconfig.json drizzle.config.ts ./
2124COPY legal/ ./legal/
2225COPY CLAUDE.md LICENSE ./
2326
27# Refresh the Claude Desktop (.dxt) bundle from source into public/ so GET
28# /gluecron.dxt serves a real file instead of 404ing (which also kept tripping
29# the synthetic uptime monitor). The committed public/gluecron.dxt is the
30# fallback; this rebuild keeps it in sync with the manifest. Best-effort — a
31# glitch here must not fail the whole image.
32RUN bash scripts/build-dxt.sh || echo "WARN: .dxt bundle build skipped"
33
2434# Create repos directory
2535RUN mkdir -p /data/repos
2636
2737