Skip to content
This repository has been archived by the owner on Jan 11, 2024. It is now read-only.

Commit

Permalink
packages app for Docker deployment
Browse files Browse the repository at this point in the history
  • Loading branch information
Matt Oberle committed Mar 17, 2017
1 parent eadf6bf commit 4a711da
Show file tree
Hide file tree
Showing 8 changed files with 74 additions and 17 deletions.
11 changes: 11 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
*.log
*.swp
.DS_Store
.env
.jobs
/bundle.js
Dockerfile
README.md
circle.yml
docker-compose.yml
node_modules/
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
node_modules
.*~
.env
*.swp
8 changes: 8 additions & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
FROM node:7.7-alpine
RUN npm install -g mocha
COPY . /code
RUN chown -R node: /code
WORKDIR /code
USER node
RUN npm install && touch .env
CMD ["node", "index.js"]
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ This is a node port of the [click to congress elixir api](https://github.com/nos

## development

* `$ git clone https://github.com/noslouch/clicktocongress-node` this repository
* `$ cd clicktocongress-node`
* `$ git clone https://github.com/nypublicradio/click-to-congress` this repository
* `$ cd click-to-congress
* `$ npm install`
* `$ cp .env.sample .env`.

Expand Down
27 changes: 23 additions & 4 deletions circle.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,26 @@
machine:
node:
- 4.3.2 # lambda version
services:
- docker
python:
version: 3.6.0

dependencies:
pre:
- npm install mocha -g
cache_directories:
- "~/docker"
override:
- pip3 install -U git+https://github.com/nypublicradio/deploy.git
- ecs_deploy build

test:
override:
- ecs_deploy test --test-cmd='npm test'

deployment:
prod:
tag: /v[0-9]+\.[0-9]+\.[0-9]+/
commands:
- ecs_deploy deploy --env=prod --memory-reservation=64 --port=3000
demo:
branch: master
commands:
- ecs_deploy deploy --env=demo --memory-reservation=64 --port=3000
15 changes: 15 additions & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
version: '3'
services:
click-to-congress:
build:
context: .
dockerfile: Dockerfile
env_file:
- .env
ports:
- "3000:3000"
volumes:
- ./index.js:/code/index.js
- ./lib:/code/lib
- ./routes:/code/routes
- ./tests:/code/tests
22 changes: 13 additions & 9 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,20 +1,24 @@
require('dotenv').config();

var lambdaExpress = require('lambda-express');
var express = require('express');
var morgan = require('morgan');
var apiRouter = express.Router();
var app = express();
var cors = require('cors');

app.use(cors());
app.options('*', cors());
const apiPrefix = process.env.API_PREFIX || '/';

app.use('/api/lookup', require('./routes/lookup'));
app.use('/api/call', require('./routes/call'));
app.use('/api/connect', require('./routes/connect'));
morgan.token('remote-addr', function (req, res) {
var realIP = req.headers['x-real-ip'];
return realIP || req.connection.remoteAddress;
});

apiRouter.use('/v1/lookup', require('./routes/lookup'));
apiRouter.use('/v1/call', require('./routes/call'));
apiRouter.use('/v1/connect', require('./routes/connect'));
app.use(morgan('combined'));
app.use(apiPrefix, apiRouter);

var server = app.listen(3000, function() {
var port = server.address().port;
console.log('Listening at port %s', port);
});

exports.handler = lambdaExpress.appHandler(app);
3 changes: 1 addition & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@
"author": "Brian Whitton",
"license": "MIT",
"dependencies": {
"cors": "^2.8.1",
"dotenv": "^2.0.0",
"express": "^4.14.0",
"lambda-express": "^0.1.5",
"morgan": "^1.8.1",
"request": "^2.79.0",
"twilio": "^3.0.0-rc.13"
},
Expand Down

0 comments on commit 4a711da

Please sign in to comment.