Files
koodiklinikka.fi/Dockerfile
Niko Kurtti 6dd45d1fd9 dockerify
2015-03-30 18:25:15 +03:00

54 lines
1.5 KiB
Docker

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