diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..bba4f7a --- /dev/null +++ b/.dockerignore @@ -0,0 +1,2 @@ +*/node_modules +*/build diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2c72f0d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,36 @@ +# pull official base image +FROM node:13.12.0-alpine AS client + +ENV NODE_ENV=production + +# set working directory +WORKDIR /app + +# add `/app/node_modules/.bin` to $PATH +ENV PATH /app/node_modules/.bin:$PATH + +# install app dependencies +COPY client/package.json ./ +COPY client/yarn.lock ./ +RUN yarn install + +# build app +COPY client ./ +RUN yarn build + +FROM node:13.12.0-alpine + +ENV NODE_ENV=production + +# set working directory +WORKDIR /app + +# install app dependencies +COPY server/package.json ./ +COPY server/package-lock.json ./ +RUN npm install + +# run app +COPY server ./ +COPY --from=client /app/build ./public +CMD ["node", "index.js"]