p5.js-web-editor/Dockerfile
2018-08-13 16:40:51 -04:00

49 lines
1.3 KiB
Docker

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
# EXPOSE 80
# EXPOSE 443
ARG API_URL
ARG S3_BUCKET
ARG AWS_REGION
ARG S3_BUCKET_URL_BASE
ARG FORCE_TO_HTTPS
ENV API_URL=$API_URL
ENV S3_BUCKET=$S3_BUCKET
ENV AWS_REGION=$AWS_REGION
ENV S3_BUCKET_URL_BASE=$S3_BUCKET_URL_BASE
ENV FORCE_TO_HTTPS=$FORCE_TO_HTTPS
FROM base as development
ENV NODE_ENV development
COPY package.json package-lock.json ./
RUN npm install
RUN npm rebuild node-sass
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 ./
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 index.js ./
RUN npm install --production
RUN npm rebuild node-sass
# RUN npm install pm2 -g
# RUN npm install local-ssl-proxy
# COPY index.js ecosystem.json ./
COPY --from=build /usr/src/app/dist ./dist
# for reg production
CMD ["npm", "run", "start:prod"]
# for production with pm2
# CMD ["pm2-runtime", "ecosystem.json"]
# for testing ssl locally
# CMD npm run ssl-proxy && pm2-runtime ecosystem.json