2018-06-07 20:09:51 +00:00
|
|
|
FROM node:8.11.1 as base
|
|
|
|
ENV APP_HOME=/usr/src/app \
|
|
|
|
TERM=xterm
|
|
|
|
RUN mkdir -p $APP_HOME
|
|
|
|
WORKDIR $APP_HOME
|
|
|
|
EXPOSE 8000
|
2018-06-15 20:51:42 +00:00
|
|
|
EXPOSE 80
|
|
|
|
EXPOSE 443
|
2018-06-07 20:09:51 +00:00
|
|
|
|
|
|
|
FROM base as development
|
|
|
|
ENV NODE_ENV development
|
|
|
|
COPY package.json package-lock.json ./
|
|
|
|
RUN npm install
|
|
|
|
RUN npm rebuild node-sass
|
2018-06-15 20:51:42 +00:00
|
|
|
COPY .babelrc index.js nodemon.json webpack.config.babel.js webpack.config.dev.js webpack.config.prod.js webpack.config.server.js webpack.config.examples.js ./
|
2018-06-07 20:09:51 +00:00
|
|
|
COPY client ./client
|
|
|
|
COPY server ./server
|
|
|
|
CMD ["npm", "start"]
|
|
|
|
|
|
|
|
FROM development as build
|
|
|
|
ENV NODE_ENV production
|
|
|
|
RUN npm run build
|
|
|
|
|
|
|
|
FROM base as production
|
|
|
|
ENV NODE_ENV=production
|
|
|
|
COPY package.json package-lock.json ./
|
|
|
|
RUN npm install --production
|
|
|
|
RUN npm rebuild node-sass
|
|
|
|
RUN npm install pm2 -g
|
2018-06-20 03:01:04 +00:00
|
|
|
# RUN npm install local-ssl-proxy
|
2018-06-15 20:51:42 +00:00
|
|
|
COPY index.js ecosystem.json ./
|
2018-06-07 20:09:51 +00:00
|
|
|
COPY --from=build /usr/src/app/dist ./dist
|
2018-06-19 22:22:18 +00:00
|
|
|
# for reg production
|
2018-06-07 20:09:51 +00:00
|
|
|
CMD ["pm2-runtime", "ecosystem.json"]
|
2018-06-19 22:22:18 +00:00
|
|
|
# for testing ssl locally
|
|
|
|
# CMD npm run ssl-proxy && pm2-runtime ecosystem.json
|