nodejs/Dockerfile.alpine

40 lines
991 B
Docker

# 14.21.3 = 3.14
# 16.20.2 = 3.16
# 18.19.1 = 3.18
# 20.11.1 = 3.19
ARG REGISTRY_URL=git.winteraccess.id/docker
ARG ALPINE_VERSION=3.19
FROM ${REGISTRY_URL}/alpine:${ALPINE_VERSION}
LABEL maintainer="<Muhamad Aditya Prima> aprimediet@gmail.com"
WORKDIR /
# SET CACHE DIR
ENV NODE_DIR /usr/local/share/nodejs
ENV NPM_CACHE_DIR ${NODE_DIR}/.npm-cache
ENV YARN_CACHE_DIR ${NODE_DIR}/.yarn-cache
# INSTALL WGET AND REQUIRED BUILD TOOLS
RUN --mount=type=cache,target=/var/cache/apk \
apk update && apk upgrade && apk add \
nodejs nodejs-dev npm
# SET NPM GLOBAL CACHE
RUN npm -g config set cache ${NPM_CACHE_DIR} && \
npm config set cache ${NPM_CACHE_DIR}
# INSTALL YARN
RUN --mount=type=cache,target=${NPM_CACHE_DIR} \
npm i -g yarn
# CREATE YARN CACHE DIR
RUN mkdir -p ${YARN_CACHE_DIR}
# SET YARN CACHE DIR
RUN yarn config set cache-folder ${YARN_CACHE_DIR}
# CLEAR CACHE
RUN rm -rf /var/cache/apk/* && \
npm cache clean --force && \
npm -g cache clean --force