The `node` versioning scheme does only use LTS by default, which we want. So we need to apply that for the Docker tags of node.js images. NPM packages should use the appropriate versioning scheme as well.
46 lines
1.4 KiB
Docker
46 lines
1.4 KiB
Docker
FROM node:20.17.0-slim
|
|
|
|
# renovate: datasource=npm packageName=npm versioning=npm
|
|
ARG NPM_VERSION=10.5.0
|
|
# renovate: datasource=npm packageName=bluebird versioning=npm
|
|
ARG BLUEBIRD_VERSION=3.7.2
|
|
# renovate: datasource=npm packageName=lodash versioning=npm
|
|
ARG LODASH_VERSION=4.17.21
|
|
# renovate: datasource=npm packageName=moment versioning=npm
|
|
ARG MOMENT_VERSION=2.30.1
|
|
# renovate: datasource=npm packageName=shelljs versioning=npm
|
|
ARG SHELLJS_VERSION=0.8.5
|
|
# renovate: datasource=npm packageName=js-yaml versioning=npm
|
|
ARG JS_YAML_VERSION=4.1.0
|
|
# renovate: datasource=npm packageName=got versioning=npm
|
|
ARG GOT_VERSION=14.4.2
|
|
|
|
# No need for root access for a script runner
|
|
RUN useradd -m -d /home/runner -s /bin/bash runner;
|
|
WORKDIR /home/runner
|
|
USER runner
|
|
|
|
ENV NODE_ENV=production
|
|
ENV NPM_CONFIG_PREFIX=/home/runner/.npm-global
|
|
ENV PATH=/home/runner/.npm-global/bin:$PATH
|
|
|
|
RUN set -e; \
|
|
npm install --global --audit=false \
|
|
npm@${NPM_VERSION} \
|
|
bluebird@${BLUEBIRD_VERSION} \
|
|
lodash@${LODASH_VERSION} \
|
|
moment@${MOMENT_VERSION} \
|
|
shelljs@${SHELLJS_VERSION} \
|
|
js-yaml@${JS_YAML_VERSION} \
|
|
got@${GOT_VERSION} \
|
|
; \
|
|
rm -r \
|
|
/home/runner/.npm/_cacache \
|
|
/home/runner/.npm/_logs \
|
|
/var/log/* \
|
|
/usr/local/share/doc/* \
|
|
/usr/local/share/man/* \
|
|
/usr/share/doc/* \
|
|
/usr/share/man/* \
|
|
/tmp/* \
|
|
;
|