The demo/ folder and /demo static route in server.js were both present on master, but /demo/index.html was still serving the React app inside Docker.
Root cause: The Dockerfile uses explicit COPY statements for each directory in the production stage. demo/ was never listed, so it was silently excluded from the container image — Express had nothing to serve and fell through to the SPA catch-all.
Change
Added one line to the production stage of the Dockerfile:
COPY demo/ ./demo/
Placed after the existing pdf/ copy, before RUN mkdir -p /data.
After merging
Rebuild and restart the container — /demo/ and /demo/index.html will serve the standalone stakeholder demo page as intended.
## Problem
The `demo/` folder and `/demo` static route in `server.js` were both present on master, but `/demo/index.html` was still serving the React app inside Docker.
**Root cause:** The Dockerfile uses explicit `COPY` statements for each directory in the production stage. `demo/` was never listed, so it was silently excluded from the container image — Express had nothing to serve and fell through to the SPA catch-all.
## Change
Added one line to the production stage of the Dockerfile:
```dockerfile
COPY demo/ ./demo/
```
Placed after the existing `pdf/` copy, before `RUN mkdir -p /data`.
## After merging
Rebuild and restart the container — `/demo/` and `/demo/index.html` will serve the standalone stakeholder demo page as intended.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Problem
The
demo/folder and/demostatic route inserver.jswere both present on master, but/demo/index.htmlwas still serving the React app inside Docker.Root cause: The Dockerfile uses explicit
COPYstatements for each directory in the production stage.demo/was never listed, so it was silently excluded from the container image — Express had nothing to serve and fell through to the SPA catch-all.Change
Added one line to the production stage of the Dockerfile:
Placed after the existing
pdf/copy, beforeRUN mkdir -p /data.After merging
Rebuild and restart the container —
/demo/and/demo/index.htmlwill serve the standalone stakeholder demo page as intended.