Switch over to phusion baseimage. Prevent everything from daemonizing and start it with runit under phusion. Make workers trap and handle sigint and sigterm. Extend the reservation to 1hr for dockerfilebuild. Update nginx to remove the dependency on libgd. Merge the requirements and requirements enterprise files.

This commit is contained in:
jakedt 2014-04-11 13:32:45 -04:00
parent 14fba3ae7c
commit 576fbe4f0d
17 changed files with 87 additions and 63 deletions

View file

@ -1,13 +1,17 @@
FROM ubuntu:13.10
FROM phusion/baseimage:0.9.9
ENV DEBIAN_FRONTEND noninteractive
ENV HOME /root
RUN apt-get update
RUN apt-get install -y git python-virtualenv python-dev phantomjs libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev libevent-dev gdebi-core
RUN apt-get install -y git python-virtualenv python-dev phantomjs libjpeg8 libjpeg62-dev libfreetype6 libfreetype6-dev libevent-dev gdebi-core g++
ADD binary_dependencies binary_dependencies
RUN gdebi --n binary_dependencies/*.deb
ADD requirements.enterprise requirements.txt
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
@ -28,10 +32,15 @@ ADD workers workers
ADD app.py app.py
ADD application.py application.py
ADD config.py config.py
ADD run.sh run.sh
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
VOLUME ["/conf/stack", "/mnt/logs"]
EXPOSE 443 80
ENTRYPOINT ["./run.sh"]
CMD ["/sbin/my_init"]