From b6383a1e3096ee83af18b3c8a942402fa1b4377d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Guillaume=20Perr=C3=A9al?= <guillaume.perreal@inrae.fr>
Date: Sun, 10 May 2020 15:41:26 +0200
Subject: [PATCH] Optimise un peu l'image Docker.

---
 Dockerfile | 21 ++++++++++++---------
 1 file changed, 12 insertions(+), 9 deletions(-)

diff --git a/Dockerfile b/Dockerfile
index c261673..b5c9d7f 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 \
-- 
GitLab