diff --git a/jcloud/docker/Dockerfile b/jcloud/docker/Dockerfile index 071d523..dc25a80 100644 --- a/jcloud/docker/Dockerfile +++ b/jcloud/docker/Dockerfile @@ -154,32 +154,25 @@ RUN --mount=type=cache,target=/var/cache/apt {{ p.after_install }} \ # symlink mysqldump to mariadb-dump -RUN ln -s /usr/bin/mysqldump /usr/bin/mariadb-dump +RUN test -f /usr/bin/mariadb-dump || ln -s /usr/bin/mysqldump /usr/bin/mariadb-dump -# Switch to jingrow -USER jingrow WORKDIR /home/jingrow - -# Install Node using NVM -ENV NVM_DIR /home/jingrow/.nvm -ENV {{ pg.get_dependency_version("nvm", True) }} +# Install Node using NodeSource (as root to avoid GitHub access via nvm) ENV {{ pg.get_dependency_version("node", True) }} - -RUN wget https://raw.githubusercontent.com/nvm-sh/nvm/v${NVM_VERSION}/install.sh \ - && bash install.sh \ - && . "/home/jingrow/.nvm/nvm.sh" \ - && nvm install ${NODE_VERSION} \ - && nvm use v${NODE_VERSION} \ - && nvm alias default v${NODE_VERSION} \ - && rm install.sh \ - && nvm cache clear \ +USER root +RUN NODE_MAJOR=$(echo ${NODE_VERSION} | cut -d. -f1) \ + && curl -fsSL https://deb.nodesource.com/setup_${NODE_MAJOR}.x | bash - \ + && apt-get update \ + && apt-get install --yes --no-install-suggests --no-install-recommends nodejs \ + && rm -rf /var/lib/apt/lists/* \ `#stage-pre-node` -ENV PATH "$PATH:/home/jingrow/.nvm/versions/node/v${NODE_VERSION}/bin" +# Install Yarn globally +RUN npm install -g yarn `#stage-pre-yarn` -# Install Yarn -RUN --mount=type=cache,target=/home/jingrow/.cache,uid=1000,gid=1000 npm install -g yarn `#stage-pre-yarn` +# Switch back to jingrow +USER jingrow # Install Bench