diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6ddd3e9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,53 @@ +FROM ubuntu:trusty +MAINTAINER "Niko Kurtti niko@salaliitto.com" + +ENV NODE_VER v0.10.25 +ENV PORT 8000 + +RUN apt-get update +RUN apt-get install -y git build-essential libssl-dev curl + +RUN groupadd -r koodiklinikka && useradd --create-home -r -g koodiklinikka koodiklinikka + +RUN mkdir /home/koodiklinikka/koodiklinikka.fi + +# Dirty hack to get Docker to cache packages +ADD package.json /home/koodiklinikka/koodiklinikka.fi/package.json +ADD bower.json /home/koodiklinikka/koodiklinikka.fi/bower.json + +RUN chown -R koodiklinikka:koodiklinikka /home/koodiklinikka/koodiklinikka.fi + +USER koodiklinikka + +# Install nvm + +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 ${NODE_VER}" + +WORKDIR /home/koodiklinikka/koodiklinikka.fi + +# Install deps +RUN /bin/bash -c "source ~/.nvm/nvm.sh \ + && nvm use koodiklinikka.fi \ + && npm install" + +ADD . /home/koodiklinikka/koodiklinikka.fi + +USER root +RUN chown -R koodiklinikka:koodiklinikka /home/koodiklinikka/koodiklinikka.fi + + +# Compile gulp +USER koodiklinikka + +RUN /bin/bash -c "source ~/.nvm/nvm.sh \ + && nvm use koodiklinikka.fi \ + && NODE_ENV=production npm run build" + +CMD NODE_ENV=$NODE_ENV PORT=$PORT /bin/bash -c "source ~/.nvm/nvm.sh \ + && nvm use koodiklinikka.fi \ + && node node_modules/http-server/bin/http-server" +EXPOSE $PORT diff --git a/build_docker b/build_docker new file mode 100755 index 0000000..14b6090 --- /dev/null +++ b/build_docker @@ -0,0 +1,3 @@ +#!/bin/bash + +docker build -t koodiklinikka.fi . diff --git a/package.json b/package.json index cfcc52a..61c7a1d 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,8 @@ "parse-github-event": "^0.2.0", "react": "^0.12.2", "timeago": "^0.2.0", - "twitter-text": "^1.11.0" + "twitter-text": "^1.11.0", + "http-server": "^0.8.0" }, "devDependencies": { "6to5ify": "^3.1.2",