From d8e129780341f7e52deecca062cf7e9f3d870933 Mon Sep 17 00:00:00 2001 From: Cassie Tarakajian Date: Fri, 15 Jun 2018 13:51:42 -0700 Subject: [PATCH] get local-ssl-proxy working for testing prod locally --- Dockerfile | 13 +++++++------ docker-compose.yml | 8 ++++++-- package.json | 8 ++++++-- server/scripts/fetch-examples-gg.js | 2 +- server/scripts/fetch-examples.js | 2 +- webpack.config.dev.js | 4 +++- webpack.config.prod.js | 2 +- 7 files changed, 25 insertions(+), 14 deletions(-) diff --git a/Dockerfile b/Dockerfile index b47c384f..05076099 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,21 +4,21 @@ ENV APP_HOME=/usr/src/app \ RUN mkdir -p $APP_HOME WORKDIR $APP_HOME EXPOSE 8000 +EXPOSE 80 +EXPOSE 443 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 ./ +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 -COPY scripts ./scripts CMD ["npm", "start"] FROM development as build ENV NODE_ENV production -# COPY .env ./ RUN npm run build FROM base as production @@ -27,8 +27,9 @@ COPY package.json package-lock.json ./ RUN npm install --production RUN npm rebuild node-sass RUN npm install pm2 -g -COPY index.js ecosystem.json .babelrc ./ -COPY scripts ./scripts -# COPY .env ./ +RUN npm install local-ssl-proxy +COPY index.js ecosystem.json ./ COPY --from=build /usr/src/app/dist ./dist +RUN npm run ssl-proxy +#RUN npm run fetch-examples:prod CMD ["pm2-runtime", "ecosystem.json"] diff --git a/docker-compose.yml b/docker-compose.yml index f7c2a490..87d5fd93 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -6,8 +6,8 @@ services: - dbdata:/data/db expose: - "27017" - nginx: - build: ./nginx + # nginx: + # build: ./nginx server: build: context: . @@ -17,11 +17,15 @@ services: - .env environment: - MONGO_URL=mongodb://mongo:27017/p5js-web-editor + - API_URL=https://localhost/api + - PORT=80 volumes: - .:/opt/node/app - /opt/node/app/node_modules ports: - '8000:8000' + - '80:80' + - '443:443' depends_on: - mongo volumes: diff --git a/package.json b/package.json index 6edafcd9..09d90d7c 100644 --- a/package.json +++ b/package.json @@ -8,12 +8,16 @@ "start:prod": "cross-env NODE_ENV=production node index.js", "lint": "eslint client server --ext .jsx --ext .js", "lint-fix": "eslint client server --ext .jsx --ext .js --fix", - "build": "npm run build:client && npm run build:server", + "build": "npm run build:client && npm run build:server && npm run build:examples", "build:client": "cross-env NODE_ENV=production webpack --config webpack.config.prod.js --progress", "build:server": "cross-env NODE_ENV=production webpack --config webpack.config.server.js --progress", + "build:examples": "cross-env NODE_ENV=production webpack --config webpack.config.examples.js --progress", "test": "npm run lint", "fetch-examples": "node ./server/scripts/fetch-examples.js", - "fetch-examples-gg": "node ./server/scripts/fetch-examples-gg.js" + "fetch-examples-gg": "node ./server/scripts/fetch-examples-gg.js", + "fetch-examples:prod": "node ./dist/fetch-examples.bundle.js", + "fetch-examples-gg:prod": "node ./dist/fetch-examples.bundle.js", + "ssl-proxy": "local-ssl-proxy --source 443 --target 80 &" }, "main": "index.js", "author": "Cassie Tarakajian", diff --git a/server/scripts/fetch-examples-gg.js b/server/scripts/fetch-examples-gg.js index 647618d9..51867785 100644 --- a/server/scripts/fetch-examples-gg.js +++ b/server/scripts/fetch-examples-gg.js @@ -1,6 +1,6 @@ require('babel-register'); require('babel-polyfill'); -if (process.env.NODE_ENV !== "production") { +if (process.env.NODE_ENV === "development") { require('dotenv').config(); } require('./examples-gg-latest.js'); diff --git a/server/scripts/fetch-examples.js b/server/scripts/fetch-examples.js index d4037179..e287b076 100644 --- a/server/scripts/fetch-examples.js +++ b/server/scripts/fetch-examples.js @@ -1,6 +1,6 @@ require('babel-register'); require('babel-polyfill'); -if (process.env.NODE_ENV !== "production") { +if (process.env.NODE_ENV === "development") { require('dotenv').config(); } require('./examples.js'); diff --git a/webpack.config.dev.js b/webpack.config.dev.js index 9b453932..81d542ba 100644 --- a/webpack.config.dev.js +++ b/webpack.config.dev.js @@ -1,5 +1,7 @@ const webpack = require('webpack'); -require('dotenv').config(); +if (process.env.NODE_ENV === 'development') { + require('dotenv').config(); +} module.exports = { devtool: 'cheap-module-eval-source-map', diff --git a/webpack.config.prod.js b/webpack.config.prod.js index 7170b9c0..2f02835e 100644 --- a/webpack.config.prod.js +++ b/webpack.config.prod.js @@ -6,7 +6,7 @@ const cssnext = require('postcss-cssnext'); const postcssFocus = require('postcss-focus'); const postcssReporter = require('postcss-reporter'); const cssnano = require('cssnano'); -if (process.env.NODE_ENV !== "production") { +if (process.env.NODE_ENV === "development") { require('dotenv').config(); }