ARG BASE=ghcr.io/requarks/wiki:2.5.308
FROM ${BASE}
USER root
COPY app /wiki/collaboration
COPY Dockerfile /wiki/collaboration/Dockerfile
RUN cd /wiki/collaboration && npm install --omit=dev --omit=optional --ignore-scripts --no-audit --no-fund
RUN node /wiki/collaboration/patch-core.js
RUN cd /wiki/collaboration && npm test
RUN mkdir -p /wiki/collaboration/public/katex && cp /wiki/collaboration/node_modules/katex/dist/katex.min.css /wiki/collaboration/public/katex/ && cp -R /wiki/collaboration/node_modules/katex/dist/fonts /wiki/collaboration/public/katex/ && cp /wiki/collaboration/node_modules/katex/LICENSE /wiki/collaboration/public/katex/LICENSE
RUN mkdir -p /wiki/collaboration/public/pdfjs && cp /wiki/collaboration/node_modules/pdfjs-dist/build/pdf.mjs /wiki/collaboration/node_modules/pdfjs-dist/build/pdf.worker.mjs /wiki/collaboration/node_modules/pdfjs-dist/web/pdf_viewer.css /wiki/collaboration/node_modules/pdfjs-dist/LICENSE /wiki/collaboration/public/pdfjs/ && cp -R /wiki/collaboration/node_modules/pdfjs-dist/cmaps /wiki/collaboration/node_modules/pdfjs-dist/standard_fonts /wiki/collaboration/node_modules/pdfjs-dist/wasm /wiki/collaboration/node_modules/pdfjs-dist/iccs /wiki/collaboration/public/pdfjs/
RUN node /wiki/collaboration/build-guide.js
RUN mkdir -p /wiki/collaboration/public/vditor && cp -R /wiki/collaboration/node_modules/vditor/dist /wiki/collaboration/public/vditor/ && cp /wiki/collaboration/node_modules/vditor/LICENSE /wiki/collaboration/public/vditor/LICENSE
RUN cp /wiki/collaboration/node_modules/katex/dist/katex.min.js /wiki/collaboration/public/katex/
RUN node -e "require('/wiki/node_modules/tar').c({gzip:true,file:'/wiki/collaboration/public/source.tar.gz',cwd:'/wiki',filter:p=>!p.includes('/node_modules')&&!p.endsWith('/source.tar.gz')},['collaboration'])"
RUN mkdir -p /wiki/collab-state && chown -R node:node /wiki/collab-state /wiki/collaboration
USER node
