From 8efbffa02ea1b8958f0904af3516b33a396f8af7 Mon Sep 17 00:00:00 2001 From: Matt Rubens <2600+mrubens@users.noreply.github.com> Date: Fri, 24 Jul 2026 15:35:02 -0400 Subject: [PATCH] Ship apps/docs in the app image so setup docs render The setup-flow documentation added in #724 reads apps/docs/*.mdx from disk at request time, but .dockerignore excluded apps/docs from the Docker build context and the app Dockerfile never copied it into any stage. getDocsPage() swallows the read failure and returns null, and the setup page treats null as "no docs for this step", so the panel silently disappeared in every Docker deployment while working in local dev checkouts. Include apps/docs in the build context, copy it into the build stage (which also lets pnpm docs:assets actually sync the logo assets it was silently skipping), and ship it in the runtime image next to apps/web where the server resolves ../docs. --- .docker/app/Dockerfile | 6 ++++++ .dockerignore | 1 - 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/.docker/app/Dockerfile b/.docker/app/Dockerfile index 6808d88bd..c7ffbff7b 100644 --- a/.docker/app/Dockerfile +++ b/.docker/app/Dockerfile @@ -81,6 +81,9 @@ COPY apps/bullmq ./apps/bullmq/ COPY apps/discord-gateway ./apps/discord-gateway/ COPY apps/preview-proxy ./apps/preview-proxy/ COPY apps/worker ./apps/worker/ +# The web app reads setup-flow documentation from apps/docs at runtime and +# copies its logo assets into public/ during `pnpm docs:assets`. +COPY apps/docs ./apps/docs/ ARG R_APP_ENV ARG RELEASE_VERSION @@ -349,6 +352,9 @@ RUN chmod +x /entrypoint.sh COPY --chown=roomote-app:roomote-app --from=build-web /roomote/apps/web/.next/standalone ./ COPY --chown=roomote-app:roomote-app --from=build-web /roomote/apps/web/.next/static ./apps/web/.next/static/ COPY --chown=roomote-app:roomote-app --from=build-web /roomote/apps/web/public ./apps/web/public/ +# The web server (cwd /roomote/apps/web) reads setup-flow docs from +# ../docs at request time, so the MDX sources must ship in the image. +COPY --chown=roomote-app:roomote-app --from=build-web /roomote/apps/docs ./apps/docs/ COPY --from=build-api /roomote/apps/api/package.json ./apps/api/ COPY --from=build-api /roomote/apps/api/dist ./apps/api/dist/ COPY --from=build-api /runtime-deps/node_modules ./apps/api/node_modules/ diff --git a/.dockerignore b/.dockerignore index c63ddd76d..54298bce2 100644 --- a/.dockerignore +++ b/.dockerignore @@ -24,7 +24,6 @@ knip.json # monorepo .turbo/ **/.turbo/ -apps/docs/ # next.js **/.next/