diff options
-rw-r--r-- | Dockerfile | 69 | ||||
-rw-r--r-- | conf/nginx.conf | 5 | ||||
-rw-r--r-- | conf/supervisord.conf | 16 | ||||
-rw-r--r-- | conf/uwsgi.ini | 1 | ||||
-rw-r--r-- | requirements/base.txt | 1 |
5 files changed, 56 insertions, 36 deletions
@@ -1,30 +1,35 @@ -FROM ubuntu-debootstrap:14.04 +FROM alpine:edge ENV omaha /srv/omaha -RUN \ - apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys ABF5BD827BD9BF62 && \ - echo 'deb http://nginx.org/packages/ubuntu/ trusty nginx' | tee --append /etc/apt/sources.list && \ - apt-get update && \ - apt-get install -y --no-install-recommends python-pip python-dev python-lxml python-psycopg2 supervisor nginx libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev python-pil build-essential libfuse-dev libcurl4-openssl-dev libxml2-dev mime-support automake libtool pkg-config libssl-dev wget tar && \ - apt-get clean && \ - apt-get autoremove -y && \ - rm -rf /var/lib/{apt,dpkg,cache,log}/ && \ - pip install uwsgi - -RUN \ - wget https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.78.tar.gz -O /usr/src/v1.78.tar.gz && \ - tar xvz -C /usr/src -f /usr/src/v1.78.tar.gz && \ - cd /usr/src/s3fs-fuse-1.78 && \ - ./autogen.sh && \ - ./configure --prefix=/usr && \ - make && \ - make install && \ - mkdir /srv/omaha_s3 && \ - rm /usr/src/v1.78.tar.gz - - -RUN mkdir -p $omaha/requirements +RUN apk --update add bash ca-certificates && \ + apk --update add nginx python supervisor uwsgi uwsgi-python py-pip && \ + apk --update add --virtual dev-deps python-dev build-base && \ + apk --update add py-lxml py-psycopg2 py-pillow && \ + apk --update add fuse-dev libxml2-dev libcurl curl-dev libstdc++ && \ + apk --update add --virtual fuse-deps autoconf automake libtool pkgconfig openssl-dev wget tar && \ + + # Setup s3fs + mkdir /usr/src && \ + wget --no-check-certificate https://github.com/s3fs-fuse/s3fs-fuse/archive/v1.78.tar.gz -O /usr/src/v1.78.tar.gz && \ + tar xvz -C /usr/src -f /usr/src/v1.78.tar.gz && \ + cd /usr/src/s3fs-fuse-1.78 && \ + ./autogen.sh && \ + ./configure --prefix=/usr && \ + make && \ + make install && \ + mkdir -p /srv/omaha_s3 && \ + rm /usr/src/v1.78.tar.gz && \ + + # cleanup + rm -rf /var/cache/apk/* && \ + apk del fuse-deps dev-deps && \ + + # prepare + mkdir -p $omaha/requirements + + +# RUN mkdir -p $omaha/requirements WORKDIR ${omaha} ADD ./requirements/base.txt $omaha/requirements/base.txt @@ -32,18 +37,20 @@ ADD ./requirements/base.txt $omaha/requirements/base.txt RUN \ pip install paver && \ pip install --upgrade six && \ - pip install -r requirements/base.txt + pip install -r requirements/base.txt && \ + rm -rf /root/.cache/pip/ + ADD . $omaha # setup all the configfiles RUN \ - mkdir /etc/nginx/sites-enabled/ && \ - rm /etc/nginx/conf.d/default.conf && \ - rm /etc/nginx/nginx.conf && \ - ln -s /srv/omaha/conf/nginx.conf /etc/nginx/ && \ - ln -s /srv/omaha/conf/nginx-app.conf /etc/nginx/sites-enabled/ && \ - ln -s /srv/omaha/conf/supervisord.conf /etc/supervisor/conf.d/ + mkdir /etc/nginx/sites-enabled/ && \ + mkdir /var/log/supervisor/ && \ + rm /etc/nginx/nginx.conf && \ + ln -s /srv/omaha/conf/nginx.conf /etc/nginx/ && \ + ln -s /srv/omaha/conf/nginx-app.conf /etc/nginx/sites-enabled/ && \ + ln -sfn /srv/omaha/conf/supervisord.conf /etc/ EXPOSE 80 CMD ["paver", "docker_run"] diff --git a/conf/nginx.conf b/conf/nginx.conf index efe9af0..7a03c5a 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,4 +1,4 @@ -user www-data; +user nginx; worker_processes 2; pid /run/nginx.pid; daemon off; @@ -9,9 +9,6 @@ events { } http { - real_ip_header X-Forwarded-For; - set_real_ip_from 0.0.0.0/0; - real_ip_recursive on; ## # Basic Settings ## diff --git a/conf/supervisord.conf b/conf/supervisord.conf index a186f26..c7e15ac 100644 --- a/conf/supervisord.conf +++ b/conf/supervisord.conf @@ -1,15 +1,24 @@ [supervisord] nodaemon=true +logfile=/var/log/supervisord.log +loglevel=info + [program:nginx-app] command = /usr/sbin/nginx autostart=true autorestart=true +stdout_logfile=/var/log/supervisor/nginx.log +stderr_logfile=/var/log/supervisor/nginx.err.log + [program:omaha] -command=/usr/local/bin/uwsgi --ini /srv/omaha/conf/uwsgi.ini +command=/usr/sbin/uwsgi --ini /srv/omaha/conf/uwsgi.ini autostart=true autorestart=true +stdout_logfile=/var/log/supervisor/omaha.log +stderr_logfile=/var/log/supervisor/omaha.err.log + [program:celery] command=celery worker -B -A omaha_server --loglevel=INFO @@ -21,8 +30,13 @@ autorestart=true startsecs=10 stopwaitsecs = 600 killasgroup=true +stdout_logfile=/var/log/supervisor/celery.log +stderr_logfile=/var/log/supervisor/celery.err.log + [program:s3fs] command=/usr/bin/s3fs %(ENV_AWS_STORAGE_BUCKET_NAME)s /srv/omaha_s3 -f -ouse_cache=/tmp -oiam_role=%(ENV_AWS_ROLE)s autostart=true autorestart=true +stdout_logfile=/var/log/supervisor/s3fs.log +stderr_logfile=/var/log/supervisor/s3fs.err.log diff --git a/conf/uwsgi.ini b/conf/uwsgi.ini index dac8d63..1993a62 100644 --- a/conf/uwsgi.ini +++ b/conf/uwsgi.ini @@ -6,3 +6,4 @@ chunked-input-limit = 25000000 chunked-input-timeout = 300 socket-timeout = 300 buffer-size = 65535 +plugin = python diff --git a/requirements/base.txt b/requirements/base.txt index 90d9ddb..78c418a 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -31,6 +31,7 @@ django-bootstrap3==6.2.2 protobuf==3.0.0a3 protobuf-to-dict==0.1.0 django-dynamic-preferences==0.6.1 +requests==2.10.0 # Only dev #django-httplog==0.2.3 |