From fbc022a3743016ab7d01382d0dd67a26f3e83637 Mon Sep 17 00:00:00 2001 From: Uriel Salischiker Date: Wed, 4 May 2022 10:47:05 +0200 Subject: [PATCH 1/3] Optimize docker image size --- Dockerfile | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 36cea56..615e596 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,12 +1,19 @@ -FROM node:14 +FROM node:14-alpineAS BUILD_IMAGE ENV VERSION=v3.3.2 +WORKDIR /usr/src/app + RUN git clone https://github.com/Dragory/modmailbot && \ cd modmailbot && \ git checkout ${VERSION} && \ - npm ci + npm ci && \ + npm prune --production && \ + curl -sfL https://install.goreleaser.com/github.com/tj/node-prune.sh | bash -s -- -b /usr/local/bin && \ + /usr/local/bin/node-prune + +FROM node:14-alpine ENV MM_MAIN_SERVER_ID= ENV MM_INBOX_SERVER_ID= ENV MM_LOG_CHANNEL_ID= @@ -19,6 +26,10 @@ ENV MM_CATEGORY_AUTOMATION__NEW_THREAD= ENV MM_STATUS="Modmail, the way to report things" ENV MM_URL= +COPY --from=BUILD_IMAGE /usr/src/app/modmailbot/dist ./dist +COPY --from=BUILD_IMAGE /usr/src/app/modmailbot/node_modules ./node_modules + WORKDIR modmailbot + ENTRYPOINT ["npm", "start"] From 57f78aa5b6e45ca0775e7401e2f23559c217e0d0 Mon Sep 17 00:00:00 2001 From: urielsalis Date: Thu, 5 May 2022 16:40:19 +0200 Subject: [PATCH 2/3] Fix --- Dockerfile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index 615e596..b7e4c07 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM node:14-alpineAS BUILD_IMAGE +FROM node:14 AS BUILD_IMAGE ENV VERSION=v3.3.2 @@ -7,7 +7,7 @@ WORKDIR /usr/src/app RUN git clone https://github.com/Dragory/modmailbot && \ cd modmailbot && \ git checkout ${VERSION} && \ - npm ci && \ + npm ci --only=production && \ npm prune --production && \ curl -sfL https://install.goreleaser.com/github.com/tj/node-prune.sh | bash -s -- -b /usr/local/bin && \ /usr/local/bin/node-prune @@ -26,10 +26,8 @@ ENV MM_CATEGORY_AUTOMATION__NEW_THREAD= ENV MM_STATUS="Modmail, the way to report things" ENV MM_URL= -COPY --from=BUILD_IMAGE /usr/src/app/modmailbot/dist ./dist -COPY --from=BUILD_IMAGE /usr/src/app/modmailbot/node_modules ./node_modules - -WORKDIR modmailbot +COPY --from=BUILD_IMAGE /usr/src/app/modmailbot /usr/src/modmailbot +WORKDIR /usr/src/modmailbot ENTRYPOINT ["npm", "start"] From 91452d74fa71627fa9a46b263a6b544cdb8ffca2 Mon Sep 17 00:00:00 2001 From: urielsalis Date: Thu, 5 May 2022 16:52:11 +0200 Subject: [PATCH 3/3] Fix --- Dockerfile | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b7e4c07..079f242 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,10 +7,11 @@ WORKDIR /usr/src/app RUN git clone https://github.com/Dragory/modmailbot && \ cd modmailbot && \ git checkout ${VERSION} && \ + npm install -g minify-all node-prune && \ npm ci --only=production && \ npm prune --production && \ - curl -sfL https://install.goreleaser.com/github.com/tj/node-prune.sh | bash -s -- -b /usr/local/bin && \ - /usr/local/bin/node-prune + node-prune && \ + minify-all FROM node:14-alpine