FROM marshall:build AS nodejs LABEL maintainer="Matthew Baggett <matthew@baggett.me>" \ org.label-schema.vcs-url="https://github.com/benzine-framework/docker-node" \ org.opencontainers.image.source="https://github.com/benzine-framework/docker-node" ARG NODE_VERSION ARG YARN_VERSION ARG PATH="/app/node_modules/.bin:${PATH}" SHELL ["/bin/bash", "-o", "pipefail", "--login", "-c"] RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash RUN nvm list RUN nvm install ${NODE_VERSION} && \ nvm use ${NODE_VERSION} \ RUN apt-get -qq update && \ apt-get -yqq install --no-install-recommends \ npm \ && \ apt-get autoremove -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log RUN npm install -g yarn@${YARN_VERSION} # Healthcheck is nonsensical for this container. HEALTHCHECK NONE # Back to userland USER node FROM nodejs AS nodejs-compiler # Install dependencies USER root RUN apt-get -qq update && \ apt-get -yqq install --no-install-recommends \ python \ build-essential \ && \ apt-get autoremove -y && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* /var/lib/dpkg/status.old /var/cache/debconf/templates.dat /var/log/dpkg.log /var/log/lastlog /var/log/apt/*.log # Healthcheck is nonsensical for this container. HEALTHCHECK NONE # Back to userland USER node