fix(docker): copy docs/openapi.yaml into the image so /docs's spec resolves

The /openapi.yaml route does res.sendFile(../docs/openapi.yaml) -> /app/docs/openapi.yaml in
the container, but the Dockerfile copied server/, frontend/, VERSION, scripts/ and never docs/,
so the spec 404'd in every deployed build (Redoc's /docs page loaded but couldn't fetch the
spec). Served fine from a dev checkout only because the repo has docs/ on disk. Verified in a
built image: /app/docs/openapi.yaml present, GET /openapi.yaml -> 200 text/yaml.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
ScreenTinker 2026-06-14 20:32:30 -05:00
parent 31be2ffe8c
commit fbd466b7f2

View file

@ -30,6 +30,9 @@ COPY server/ /app/server/
COPY --from=builder /app/server/node_modules /app/server/node_modules COPY --from=builder /app/server/node_modules /app/server/node_modules
COPY frontend/ /app/frontend/ COPY frontend/ /app/frontend/
COPY VERSION /app/VERSION COPY VERSION /app/VERSION
# the /openapi.yaml route serves ../docs/openapi.yaml (the spec Redoc on /docs fetches);
# without this it 404s in the image even though it serves fine from a dev checkout.
COPY docs/openapi.yaml /app/docs/openapi.yaml
# database.js requires scripts/migrate-multitenancy at boot # database.js requires scripts/migrate-multitenancy at boot
COPY scripts/ /app/scripts/ COPY scripts/ /app/scripts/
VOLUME ["/data"] VOLUME ["/data"]