FROM phusion/baseimage:0.9.9 ENV DEBIAN_FRONTEND noninteractive ENV HOME /root # Needed for this fix: http://stackoverflow.com/a/21715730 RUN apt-get update RUN apt-get install -y software-properties-common python-software-properties RUN add-apt-repository ppa:chris-lea/node.js # Install the dependencies. RUN apt-get update # New ubuntu packages should be added as their own apt-get install lines below the existing install commands RUN apt-get install -y git python-virtualenv python-dev libjpeg8 libjpeg62-dev libevent-dev gdebi-core g++ libmagic1 libssl1.0.0 # PhantomJS RUN apt-get install -y libfreetype6 libfreetype6-dev fontconfig ADD https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2 phantomjs.tar.bz2 RUN tar xjf phantomjs.tar.bz2 && ln -s `pwd`/phantomjs*/bin/phantomjs /usr/bin/phantomjs # Grunt RUN apt-get install -y nodejs RUN npm install -g grunt-cli ADD binary_dependencies binary_dependencies RUN gdebi --n binary_dependencies/*.deb RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ADD requirements.txt requirements.txt RUN virtualenv --distribute venv RUN venv/bin/pip install -r requirements.txt ADD auth auth ADD buildstatus buildstatus ADD conf conf ADD data data ADD endpoints endpoints ADD features features ADD grunt grunt ADD screenshots screenshots ADD static static ADD storage storage ADD templates templates ADD util util ADD workers workers ADD app.py app.py ADD application.py application.py ADD config.py config.py ADD initdb.py initdb.py ADD conf/init/mklogsdir.sh /etc/my_init.d/ ADD conf/init/gunicorn.sh /etc/service/gunicorn/run ADD conf/init/nginx.sh /etc/service/nginx/run ADD conf/init/diffsworker.sh /etc/service/diffsworker/run ADD conf/init/webhookworker.sh /etc/service/webhookworker/run RUN cd grunt && npm install RUN cd grunt && grunt # Add the tests last because they're prone to accidental changes, then run them ADD test test RUN TEST=true venv/bin/python -m unittest discover RUN rm -rf /conf/stack VOLUME ["/conf/stack", "/mnt/logs"] EXPOSE 443 80 CMD ["/sbin/my_init"]