mirror of
https://github.com/koodiklinikka/koodiklinikka.fi-api.git
synced 2026-01-26 03:34:03 +00:00
Merge pull request #2 from koodiklinikka/docker
Put api app to container
This commit is contained in:
37
Dockerfile
Normal file
37
Dockerfile
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
FROM ubuntu:trusty
|
||||||
|
MAINTAINER "Niko Kurtti niko@salaliitto.com"
|
||||||
|
|
||||||
|
ENV NODE_VER v0.10.25
|
||||||
|
ENV PORT 9000
|
||||||
|
|
||||||
|
RUN apt-get update
|
||||||
|
RUN apt-get install -y git build-essential libssl-dev curl
|
||||||
|
|
||||||
|
RUN groupadd -r koodiklinikka-api && useradd --create-home -r -g koodiklinikka-api koodiklinikka-api
|
||||||
|
|
||||||
|
ADD . /home/koodiklinikka/koodiklinikka.fi-api
|
||||||
|
|
||||||
|
RUN chown -R koodiklinikka-api:koodiklinikka-api /home/koodiklinikka/koodiklinikka.fi-api
|
||||||
|
|
||||||
|
USER koodiklinikka-api
|
||||||
|
|
||||||
|
RUN git clone https://github.com/creationix/nvm ~/.nvm
|
||||||
|
RUN cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
|
||||||
|
RUN /bin/bash -c "source ~/.nvm/nvm.sh \
|
||||||
|
&& nvm install ${NODE_VER} \
|
||||||
|
&& nvm alias koodiklinikka.fi-api ${NODE_VER}"
|
||||||
|
|
||||||
|
WORKDIR /home/koodiklinikka/koodiklinikka.fi-api
|
||||||
|
|
||||||
|
RUN /bin/bash -c "source ~/.nvm/nvm.sh \
|
||||||
|
&& nvm use koodiklinikka.fi-api \
|
||||||
|
&& npm install"
|
||||||
|
|
||||||
|
RUN cp node_modules/newrelic/newrelic.js .
|
||||||
|
RUN NR_KEY=$(cat config.json |grep newrelic_key|cut -d'"' -f4) && sed -i "s/license key here/$NR_KEY/g" newrelic.js
|
||||||
|
RUN sed -i "s/My Application/koodiklinikka.fi-api/g" newrelic.js
|
||||||
|
|
||||||
|
CMD NODE_ENV=$NODE_ENV PORT=$PORT /bin/bash -c "source ~/.nvm/nvm.sh \
|
||||||
|
&& nvm use koodiklinikka.fi-api \
|
||||||
|
&& node index.js >> ~/koodiklinikka.fi-api.log 2>&1"
|
||||||
|
EXPOSE $PORT
|
||||||
15
build_docker
Executable file
15
build_docker
Executable file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
if [[ -z "$1" ]]
|
||||||
|
then
|
||||||
|
KEYROOT=$HOME
|
||||||
|
else
|
||||||
|
KEYROOT=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
gem install ejson
|
||||||
|
|
||||||
|
ejson --keydir=$KEYROOT/.ejson decrypt config/config.production.ejson > config.json
|
||||||
|
|
||||||
|
docker build -t koodiklinikka.fi-api .
|
||||||
|
|
||||||
|
rm -rf config.json
|
||||||
20
config/config.production.ejson
Normal file
20
config/config.production.ejson
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
{
|
||||||
|
"_public_key": "94f3af35ad208d7bc7e3ddf1f9d181d090e3a1c74f9d56851c4f0f1efb04b571",
|
||||||
|
"newrelic_key": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:Pdy9ugoJ3SglDvX6lGz2AyS2eKHHPm2E:uSzlBglVbzdbPPy3Pp/UMiJQn+6hhx/d2ohg94E/zvoS+8Jtl/2tPf6CQ3uFtbFvymYuDAwm+Fs=]",
|
||||||
|
"all": {
|
||||||
|
"slack": {
|
||||||
|
"token": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:aXVSV+o3beRrV7ebgxf7c5D04RVnxu7s:Smhu1k+kH9IrlwUwzIuk2sJ/m+FuyLAbO4Da2PF0rIciwjJM881lM8GU+NcsxbuIUXMgzI1tRw/38hAAq6ISBA==]",
|
||||||
|
"private_channel": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:UMpbg7pcRg6nVYLQZV8r6VCRyKQ+9gKd:DapGJCT2/aOzLAn00EfTSMfHGV+/pSrzZw==]",
|
||||||
|
"public_channel": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:y8iIiUNS37cIAM7TBtExRmI9Cvn+LtRT:GjiDGA7mCUp5AaeKD4nnu9Qry9OUecI0DA==]"
|
||||||
|
},
|
||||||
|
"github": {
|
||||||
|
"token": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:EnbOnnCLRxPi7iZ1pWV8qVJc+avDKS9u:MZkoAW0i6SUhgZFBREyRN6jBGQ9ZqeslG45XHJpCKm3Spi7VxVG1xv75vCqRA0KW0Uzs7VwQaZo=]"
|
||||||
|
},
|
||||||
|
"twitter": {
|
||||||
|
"consumerKey": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:+1l4+Wdfd/0kegV1Xwu237xJut/XPRUi:fNTezQs1RJwTRZGlwm3Z3B6tV44H9nZUM/w7zYjyVyK8MpoX3NmhW68=]",
|
||||||
|
"consumerSecret": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:YbWwBsImZi2bxNSB9byt9faJzS5Ug8Sd:Y4rZWaQJaIHfuyOFBIXJHCKxlfxrid14zTM7yECumhX5MZBTFCyAH5LijJCuCqm9PtZElEFW2nOrsLQBtnyF1I3V]",
|
||||||
|
"token": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:3wRXcXnXmU5qekVuryuXT/sq1MuloOTe:TdGkIi7WEPXweAaVsLUjFekFrEHiTZuW7jr8Q4F8FLTjoXpHkwBD9f4SRnxQ4BC+CRRoaiOBe6zzTb99SWIDCZPS]",
|
||||||
|
"tokenSecret": "EJ[1:8U8evsrlrGhenQ0Cv3XQR0SAYe6atL3PVKdj36Ue6SU=:DwFvhyEfkpgRXlcuXVh6iHZXbPnWwRRV:q+RFJ0SXe5wkiccmM7n8pWJNf62ByMW6IXLU2tZkpHEo2zosU+eMAkXtF52x5vJiYaWrIsxUcJeYzLFyEQ==]"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
1
index.js
1
index.js
@@ -1,3 +1,4 @@
|
|||||||
|
require('newrelic');
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
var express = require('express');
|
var express = require('express');
|
||||||
|
|||||||
@@ -26,6 +26,7 @@
|
|||||||
"morgan": "^1.5.1",
|
"morgan": "^1.5.1",
|
||||||
"node-twitter": "0.5.2",
|
"node-twitter": "0.5.2",
|
||||||
"superagent": "^0.21.0",
|
"superagent": "^0.21.0",
|
||||||
"validator": "^3.27.0"
|
"validator": "^3.27.0",
|
||||||
|
"newrelic": "^1.18.0"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user