diff --git a/Dockerfile b/Dockerfile index 86b240a..7992546 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,25 +1,19 @@ -FROM node:16 - -# Create app directory +FROM node:16 AS appbuild WORKDIR /usr/src/app - -# Export static site into lifetracker-server -COPY lifetracker-vue/ /usr/src/app/ - -WORKDIR /usr/src/app/lifetracker-server -# Install app dependencies -# A wildcard is used to ensure both package.json AND package-lock.json are copied -# where available (npm@5+) -COPY lifetracker-server/ ./ -RUN npm install -# If you are building your code for production -# RUN npm ci --omit=dev - -WORKDIR /usr/src/app/lifetracker-vue +COPY lifetracker-vue/package*.json ./ RUN npm install +COPY ./src ./src RUN npm run build-only +COPY ./src/dist ./src/dist -WORKDIR /usr/src/app/lifetracker-server +# Build Stage 2 +# This build takes the production build from staging build +# +FROM node:16 +WORKDIR /usr/src/app +COPY lifetracker-server/package*.json ./ +RUN npm install +COPY --from=appbuild /usr/src/app/dist ./src/dist EXPOSE 8081 CMD [ "npm", "start" ]