@@ -21,8 +21,9 @@ RUN cd ./modules/oas-page-builder \
2121
2222# where repo work will happen
2323FROM ubuntu:20.04
24+ ARG WORK_DIRECTORY=/home/docsworker-xlarge
2425ARG SNOOTY_PARSER_VERSION=0.14.0
25- ARG SNOOTY_FRONTEND_VERSION=0.14.0
26+ ARG SNOOTY_FRONTEND_VERSION=0.14.1
2627ARG MUT_VERSION=0.10.3
2728ARG REDOC_CLI_VERSION=1.1.2
2829ARG NPM_BASE_64_AUTH
@@ -46,15 +47,15 @@ RUN apt-get update && apt-get install -y vim git
4647
4748ENV PATH="${PATH}:/opt/snooty:/opt/mut:/home/docsworker-xlarge/.local/bin:/usr/local/lib/python2.7/dist-packages/virtualenv/bin"
4849
49- # get node 14
50+ # get node 18
5051# https://gist.github.com/RinatMullayanov/89687a102e696b1d4cab
5152RUN apt-get install --yes curl
52- RUN curl --location https://deb.nodesource.com/setup_14 .x | bash -
53+ RUN curl --location https://deb.nodesource.com/setup_18 .x | bash -
5354RUN apt-get install --yes nodejs
5455RUN apt-get install --yes build-essential
5556
56- # use npm 7 .*
57- RUN npm install npm@7
57+ # use npm 8 .*
58+ RUN npm install -g npm@8
5859
5960# install snooty parser
6061RUN curl -L -o snooty-parser.zip https://github.com/mongodb/snooty-parser/releases/download/v${SNOOTY_PARSER_VERSION}/snooty-v${SNOOTY_PARSER_VERSION}-linux_x86_64.zip \
@@ -66,9 +67,10 @@ RUN curl -L -o mut.zip https://github.com/mongodb/mut/releases/download/v${MUT_V
6667
6768# setup user and root directory
6869RUN useradd -ms /bin/bash docsworker-xlarge
70+ RUN chmod 755 -R ${WORK_DIRECTORY}
71+ RUN chown -Rv docsworker-xlarge ${WORK_DIRECTORY}
6972USER docsworker-xlarge
7073
71- ARG WORK_DIRECTORY=/home/docsworker-xlarge
7274WORKDIR ${WORK_DIRECTORY}
7375
7476# get shared.mk
@@ -89,24 +91,24 @@ RUN git clone -b @dop/redoc-cli@${REDOC_CLI_VERSION} --depth 1 https://github.co
8991 && cd redoc/ \
9092 && npm ci --prefix cli/ --omit=dev
9193
92- COPY --from=ts-compiler /home/docsworker-xlarge/package*.json ./
93- COPY --from=ts-compiler /home/docsworker-xlarge/config config/
94- COPY --from=ts-compiler /home/docsworker-xlarge/build ./
94+ COPY --from=ts-compiler --chown=docsworker-xlarge /home/docsworker-xlarge/package*.json ./
95+ COPY --from=ts-compiler --chown=docsworker-xlarge /home/docsworker-xlarge/config config/
96+ COPY --from=ts-compiler --chown=docsworker-xlarge /home/docsworker-xlarge/build ./
9597RUN npm install
9698
9799# Persistence module copy
98100# Create directory and add permissions to allow node module installation
99101RUN mkdir -p modules/persistence && chmod 755 modules/persistence
100- COPY --from=ts-compiler /home/docsworker-xlarge/modules/persistence/package*.json ./modules/persistence/
101- COPY --from=ts-compiler /home/docsworker-xlarge/modules/persistence/dist ./modules/persistence/
102+ COPY --from=ts-compiler --chown=docsworker-xlarge /home/docsworker-xlarge/modules/persistence/package*.json ./modules/persistence/
103+ COPY --from=ts-compiler --chown=docsworker-xlarge /home/docsworker-xlarge/modules/persistence/dist ./modules/persistence/
102104ENV PERSISTENCE_MODULE_PATH=${WORK_DIRECTORY}/modules/persistence/index.js
103105RUN cd ./modules/persistence/ && ls && npm install
104106
105107# OAS Page Builder module copy
106108# Create directory and add permissions to allow node module installation
107109RUN mkdir -p modules/oas-page-builder && chmod 755 modules/oas-page-builder
108- COPY --from=ts-compiler /home/docsworker-xlarge/modules/oas-page-builder/package*.json ./modules/oas-page-builder/
109- COPY --from=ts-compiler /home/docsworker-xlarge/modules/oas-page-builder/dist ./modules/oas-page-builder/
110+ COPY --from=ts-compiler --chown=docsworker-xlarge /home/docsworker-xlarge/modules/oas-page-builder/package*.json ./modules/oas-page-builder/
111+ COPY --from=ts-compiler --chown=docsworker-xlarge /home/docsworker-xlarge/modules/oas-page-builder/dist ./modules/oas-page-builder/
110112RUN cd ./modules/oas-page-builder/ && npm install
111113
112114# Needed for OAS Page Builder module in shared.mk
0 commit comments