diff --git a/Dockerfile b/Dockerfile index d6ea1a3dc6..afb3bfe756 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,28 +1,33 @@ -# -# --- Base Node Image --- +############################################################ +# Build stage +############################################################ FROM node:lts-alpine AS base RUN apk update; \ apk add git; - WORKDIR /src # Copy package.json first to benefit from layer caching COPY package*.json ./ -RUN npm install --only=production + +# Install without scripts otherwise webpack will fail +RUN npm ci --production --ignore-scripts + # Copy production node_modules aside for later RUN cp -R node_modules prod_node_modules -# Install remaining dev dependencies -RUN npm install +# Copy src to have webpack config files ready for install COPY . /src +# Install remaining dev dependencies +RUN npm ci + # Run all webpack build steps RUN npm run prepare && npm run build - -# -# --- Production Image --- +############################################################ +# Release stage +############################################################ FROM node:lts-alpine AS release WORKDIR /src