From 3436bb3851965245d2e584b92309f78361ffe416 Mon Sep 17 00:00:00 2001 From: Florent Vilmart <364568+flovilmart@users.noreply.github.com> Date: Mon, 17 Dec 2018 19:25:18 -0500 Subject: [PATCH 1/3] Better dockerfile --- Dockerfile | 35 +++++++++++++++++++++++++---------- 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index b4ac513b58..080119e2d1 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,21 +1,36 @@ -FROM node:carbon +FROM node:lts-alpine as build -RUN mkdir -p /parse-server -COPY ./ /parse-server/ +RUN apk update; \ + apk add git; -RUN mkdir -p /parse-server/config -VOLUME /parse-server/config +WORKDIR /tmp +COPY package*.json ./ +RUN npm ci -RUN mkdir -p /parse-server/cloud -VOLUME /parse-server/cloud +COPY . . +RUN npm run build + +FROM node:lts-alpine as release WORKDIR /parse-server +VOLUME ['/parse-server/cloud', '/parse-server/config'] + +COPY package*.json ./ +RUN npm ci --production -RUN npm install && \ - npm run build +COPY bin bin +COPY public_html public_html +COPY views views +COPY --from=build /tmp/lib lib ENV PORT=1337 +RUN mkdir -p logs +RUN chown -R node: logs + +USER node + EXPOSE $PORT -ENTRYPOINT ["npm", "start", "--"] +ENTRYPOINT ["node", "./bin/parse-server"] + From f59ea6b308c56bee6e58231a376b407903be2940 Mon Sep 17 00:00:00 2001 From: Florent Vilmart <364568+flovilmart@users.noreply.github.com> Date: Mon, 17 Dec 2018 19:32:02 -0500 Subject: [PATCH 2/3] nits --- Dockerfile | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index 080119e2d1..0aaf73b14d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,35 +1,31 @@ +# Build stage FROM node:lts-alpine as build RUN apk update; \ apk add git; - WORKDIR /tmp COPY package*.json ./ RUN npm ci - COPY . . RUN npm run build +# Release stage FROM node:lts-alpine as release WORKDIR /parse-server VOLUME ['/parse-server/cloud', '/parse-server/config'] COPY package*.json ./ -RUN npm ci --production +RUN npm ci --production COPY bin bin COPY public_html public_html COPY views views COPY --from=build /tmp/lib lib +RUN mkdir -p logs && chown -R node: logs ENV PORT=1337 - -RUN mkdir -p logs -RUN chown -R node: logs - USER node - EXPOSE $PORT ENTRYPOINT ["node", "./bin/parse-server"] From 800a8bed514f1c95668ce01026e4268d728f8dc4 Mon Sep 17 00:00:00 2001 From: Florent Vilmart <364568+flovilmart@users.noreply.github.com> Date: Tue, 18 Dec 2018 22:02:55 -0500 Subject: [PATCH 3/3] proper VOLUMES --- Dockerfile | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index 0aaf73b14d..acbd88a783 100644 --- a/Dockerfile +++ b/Dockerfile @@ -11,12 +11,12 @@ RUN npm run build # Release stage FROM node:lts-alpine as release +VOLUME /parse-server/cloud /parse-server/config WORKDIR /parse-server -VOLUME ['/parse-server/cloud', '/parse-server/config'] COPY package*.json ./ -RUN npm ci --production +RUN npm ci --production COPY bin bin COPY public_html public_html @@ -29,4 +29,3 @@ USER node EXPOSE $PORT ENTRYPOINT ["node", "./bin/parse-server"] -