From 59f89307850b92d65a856c5caf50fb30f05cc5e9 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Fri, 15 May 2015 17:00:56 +0200 Subject: [PATCH] First dockerfile attempt --- deployment/docker/standalone/Dockerfile | 23 +++++++++++++++++++ deployment/docker/standalone/Makefile | 2 ++ .../docker/standalone/gunicorn_starter.bash | 7 ++++++ deployment/docker/standalone/src | 1 + deployment/docker/standalone/supervisord.conf | 5 ++++ 5 files changed, 38 insertions(+) create mode 100644 deployment/docker/standalone/Dockerfile create mode 100644 deployment/docker/standalone/Makefile create mode 100644 deployment/docker/standalone/gunicorn_starter.bash create mode 120000 deployment/docker/standalone/src create mode 100644 deployment/docker/standalone/supervisord.conf diff --git a/deployment/docker/standalone/Dockerfile b/deployment/docker/standalone/Dockerfile new file mode 100644 index 000000000..6dc6f99ea --- /dev/null +++ b/deployment/docker/standalone/Dockerfile @@ -0,0 +1,23 @@ +FROM debian:jessie + +RUN apt-get update && apt-get install -y supervisor python3 git python3-pip \ + libxml2-dev libxslt1-dev python-dev python-virtualenv locales libffi-dev \ + build-essential python3-dev --no-install-recommends + +RUN dpkg-reconfigure locales && \ + locale-gen C.UTF-8 && \ + /usr/sbin/update-locale LANG=C.UTF-8 +ENV LC_ALL C.UTF-8 + +RUN apt-get clean && rm -rf /var/lib/apt/lists/* + +ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf +ADD gunicorn_starter.bash /gunicorn_starter.bash +ADD src /src +WORKDIR /src +RUN pip3 install -r requirements.txt +RUN pip3 install gunicorn + +EXPOSE 80 +CMD ["/usr/bin/supervisord"] + diff --git a/deployment/docker/standalone/Makefile b/deployment/docker/standalone/Makefile new file mode 100644 index 000000000..9444b355e --- /dev/null +++ b/deployment/docker/standalone/Makefile @@ -0,0 +1,2 @@ +main: + tar ch --exclude=_static --exclude=htmlcov --exclude=db.sqlite3 . | docker build -t test - diff --git a/deployment/docker/standalone/gunicorn_starter.bash b/deployment/docker/standalone/gunicorn_starter.bash new file mode 100644 index 000000000..d4aff98c3 --- /dev/null +++ b/deployment/docker/standalone/gunicorn_starter.bash @@ -0,0 +1,7 @@ +#!/bin/bash +cd /src +export DJANGO_SETTINGS_MODULE=pretix.settings +gunicorn \ + -b '0.0.0.0:80' \ + -w 3 --max-requests 1000 --max-requests-jitter 50 \ + pretix.wsgi diff --git a/deployment/docker/standalone/src b/deployment/docker/standalone/src new file mode 120000 index 000000000..dabb0e15a --- /dev/null +++ b/deployment/docker/standalone/src @@ -0,0 +1 @@ +../../../src \ No newline at end of file diff --git a/deployment/docker/standalone/supervisord.conf b/deployment/docker/standalone/supervisord.conf new file mode 100644 index 000000000..a8e43c721 --- /dev/null +++ b/deployment/docker/standalone/supervisord.conf @@ -0,0 +1,5 @@ +[supervisord] +nodaemon=true + +[program:gunicorn] +command=/bin/bash gunicorn_starter.bash