FROM node:20-alpine WORKDIR /app # Installed as its own layer so it's only re-run when package.json actually changes. COPY package.json ./ RUN npm install --no-audit --no-fund # Copy the rest of the scaffolded Docusaurus project (config, src/, static/). # The docs/ folder copied here is only a placeholder — docker-compose.yaml # bind-mounts the real markdown content from ../docs over the top of it at # container start, so editing docs never requires rebuilding this image. COPY . . EXPOSE 3000