From a3f68cf72234139bed8504dd897d89cd0bd0dac6 Mon Sep 17 00:00:00 2001 From: Matias Date: Sun, 28 Apr 2019 12:16:00 -0300 Subject: [PATCH] Adding new deploy configuration --- Dockerfile | 22 ++++++++++++++++++++++ Dockerfile.prod | 21 +++++++++++++++++++++ docker-compose.prod.yml | 24 ++++++++++++++++++++++++ src/db.js | 2 +- 4 files changed, 68 insertions(+), 1 deletion(-) create mode 100644 Dockerfile create mode 100644 Dockerfile.prod create mode 100644 docker-compose.prod.yml diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 000000000..3f7bb677e --- /dev/null +++ b/Dockerfile @@ -0,0 +1,22 @@ +FROM mhart/alpine-node:12 + +# Directory where the service will be installed +ARG API_DIR=/usr/src/events-api + +# Prepare required directories +RUN mkdir -p ${API_DIR} + +# Use app directory as current workdir +WORKDIR ${API_DIR} + +# Copy package.json to workdir +COPY package*.json ${API_DIR}/ + +# Install dependencies +RUN npm install --production + +# Copy application code +COPY . ${API_DIR} + +# Expose Port +EXPOSE $PORT diff --git a/Dockerfile.prod b/Dockerfile.prod new file mode 100644 index 000000000..11d65a1ef --- /dev/null +++ b/Dockerfile.prod @@ -0,0 +1,21 @@ +FROM mhart/alpine-node:8 + +ENV PORT=4005 + +RUN mkdir -p /var/www/app && \ + mkdir -p /var/www/app/node_modules + +# Use app directory as current workdir +WORKDIR /var/www/app +ENV PATH /var/www/app/node_modules/.bin:$PATH +# Copy package.json to workdir +COPY package.json /var/www/app/package.json + +# Install dependencies +RUN npm install + +# Copy application code +COPY . /var/www/app + +# Expose Port +EXPOSE $PORT diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml new file mode 100644 index 000000000..72508f7e5 --- /dev/null +++ b/docker-compose.prod.yml @@ -0,0 +1,24 @@ +version: '3' +services: + node: + image: aaeventsapi-dev:v1 + build: + context: . + dockerfile: ./Dockerfile.prod + env_file: ./.env + container_name: aaeventsapi + tty: true + stdin_open: true + volumes: + - ./:/var/www/app + - /var/www/app/node_modules + working_dir: /var/www/app + restart: always + command: npm start + expose: + - 4005 + network_mode: webproxy +networks: + default: + external: + name: webproxy diff --git a/src/db.js b/src/db.js index 4ed47a0c2..e08de13f5 100644 --- a/src/db.js +++ b/src/db.js @@ -1,7 +1,7 @@ import 'dotenv/config'; import mongoose from 'mongoose'; -mongoose.connect(`mongodb://${process.env.DB_USERNAME}:${process.env.DB_PASSWORD}@${process.env.DB_DOMAIN}`, { useNewUrlParser: true }); +mongoose.connect(process.env.MONGO_URL, { useNewUrlParser: true }) mongoose.set('useCreateIndex', true); mongoose.set('useFindAndModify', false); mongoose.Promise = global.Promise;