summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Dockerfile69
-rw-r--r--conf/nginx.conf5
-rw-r--r--conf/supervisord.conf16
-rw-r--r--conf/uwsgi.ini1
-rw-r--r--requirements/base.txt1
5 files changed, 56 insertions, 36 deletions
diff --git a/Dockerfile b/Dockerfile
index e9cfe72..e491e4f 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -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