Skip to content

Commit 782a716

Browse files
authored
Merge pull request didinj#4 from kjenney/add_docker
Enable running this in Docker
2 parents 4248821 + 9e9a348 commit 782a716

File tree

6 files changed

+78
-24
lines changed

6 files changed

+78
-24
lines changed

Dockerfile

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
FROM node:10-slim
2+
3+
RUN apt-get update \
4+
&& mkdir -p /usr/share/man/man1 \
5+
&& mkdir -p /usr/share/man/man7 \
6+
&& apt-get install -y --no-install-recommends postgresql-client libpq-dev \
7+
&& rm -rf /var/lib/apt/lists/* \
8+
&& apt-get clean
9+
10+
WORKDIR /usr/src/app
11+
12+
COPY package* ./
13+
14+
RUN npm install -g
15+
16+
COPY . ./
17+
18+
CMD npm start

bin/www

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,13 @@
77
var app = require('../app');
88
var debug = require('debug')('node-sequelize:server');
99
var http = require('http');
10+
var models = require('../models');
11+
12+
/**
13+
* Sync Database
14+
*/
15+
16+
models.sequelize.sync()
1017

1118
/**
1219
* Get port from environment and store in Express.

config/config.js

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
const creds = {
2+
development: {
3+
username: process.env.DB_USERNAME,
4+
password: process.env.DB_PASSWORD,
5+
database: process.env.DB_NAME,
6+
host: process.env.DB_HOSTNAME,
7+
dialect: 'postgresql'
8+
},
9+
test: {
10+
username: process.env.DB_USERNAME,
11+
password: process.env.DB_PASSWORD,
12+
database: process.env.DB_NAME,
13+
host: process.env.DB_HOSTNAME,
14+
dialect: 'postgresql'
15+
},
16+
production: {
17+
username: process.env.DB_USERNAME,
18+
password: process.env.DB_PASSWORD,
19+
database: process.env.DB_NAME,
20+
host: process.env.DB_HOSTNAME,
21+
dialect: 'postgresql'
22+
}
23+
};
24+
25+
module.exports = creds;

config/config.json

Lines changed: 0 additions & 23 deletions
This file was deleted.

docker-compose.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
version: '2.1'
2+
3+
services:
4+
api:
5+
build: .
6+
environment:
7+
DB_USERNAME: postgres
8+
DB_PASSWORD: test
9+
DB_NAME: test
10+
DB_HOSTNAME: db
11+
ports:
12+
- 3000:3000
13+
depends_on:
14+
db:
15+
condition: service_healthy
16+
db:
17+
image: postgres:10
18+
restart: always
19+
environment:
20+
POSTGRES_PASSWORD: test
21+
POSTGRES_DB: test
22+
ALLOW_IP_RANGE: 0.0.0.0/0
23+
healthcheck:
24+
test: ["CMD-SHELL", "pg_isready -U postgres"]
25+
interval: 10s
26+
timeout: 5s
27+
retries: 5

models/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ var path = require('path');
55
var Sequelize = require('sequelize');
66
var basename = path.basename(__filename);
77
var env = process.env.NODE_ENV || 'development';
8-
var config = require(__dirname + '/../config/config.json')[env];
8+
var config = require(__dirname + '/../config/config.js')[env];
99
var db = {};
1010

1111
if (config.use_env_variable) {

0 commit comments

Comments
 (0)