diff --git a/Dockerfile b/Dockerfile index c2616732e1a4b12422a7e50a32d310ac654cf678..b5c9d7ff72bcc53f7561b21a5f7d5fda4c5dfb9a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,17 @@ ARG NODE_VERSION=12 ARG DEBIAN_RELEASE=buster -FROM node:${NODE_VERSION}-${DEBIAN_RELEASE} +FROM node:${NODE_VERSION}-${DEBIAN_RELEASE} AS builder + +RUN mkdir -p /opt/prezbuilder +COPY . /opt/prezbuilder/ + +ENV NODE_ENV=production +RUN cd /opt/prezbuilder/ \ + && rm -rf src \ + && npm install + +FROM node:${NODE_VERSION}-${DEBIAN_RELEASE}-slim RUN apt-get update -yq \ && apt-get install -yq --no-install-recommends \ @@ -32,15 +42,8 @@ RUN wget -nv -O /tmp/wkhtmltox.deb https://github.com/wkhtmltopdf/wkhtmltopdf/re && wkhtmltopdf --version RUN mkdir -p /src /opt/prezbuilder +COPY --from=builder /opt/prezbuilder /opt/prezbuilder/ COPY src/ /src/ -COPY assets/ /opt/prezbuilder/assets/ -COPY lib/ /opt/prezbuilder/lib/ -COPY gulpfile.esm.js package.json package-lock.json /opt/prezbuilder/ - -ENV NODE_ENV=production -RUN cd /opt/prezbuilder/ \ - && env NPM_CONFIG_CACHE=/tmp/.npm npm install \ - && rm -rf /tmp/.npm ENV SERVER_HOST=0.0.0.0 \ SERVER_PORT=3000 \