Skip to content
This repository has been archived by the owner on Mar 7, 2020. It is now read-only.

Dependency Update and Spring Cleaning #31

Open
wants to merge 8 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 26 additions & 10 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,22 +1,38 @@
FROM python:2.7
ENV PYTHONUNBUFFERED 1

RUN mkdir /app
WORKDIR /app

RUN apt-get clean && apt-get update -y
RUN apt-get install npm -y
RUN apt-get install npm gettext libgettextpo-dev nginx supervisor -y
RUN npm install -g bower
RUN npm install -g less
RUN ln -s /usr/bin/nodejs /usr/bin/node

ADD requirements.txt /app/
RUN pip install -r requirements.txt
RUN mkdir /conf
RUN mkdir /scripts

ADD ./docker/conf/uwsgi_app.ini /conf/
ADD ./docker/conf/uwsgi_params /conf/
ADD ./docker/scripts/wait-for-it.sh /scripts/

RUN mkdir /code
RUN mkdir /code/static
RUN mkdir /code/media

ADD bower.json /app/
ADD .bowerrc /app/
WORKDIR /code

ADD bower.json /code/
ADD .bowerrc /code/
RUN bower install --allow-root

ADD . /app/
ADD requirements.txt /code/
RUN pip install -r requirements.txt
ADD . /code/
COPY ./probr/settings.docker.py /code/probr/settings.py
RUN python /code/manage.py collectstatic --noinput
#RUN python /code/manage.py compilemessages
RUN curl -sLo /usr/local/bin/ep https://github.com/kreuzwerker/envplate/releases/download/v0.0.8/ep-linux && chmod +x /usr/local/bin/ep

RUN echo "daemon off;" >> /etc/nginx/nginx.conf

RUN python manage.py collectstatic --noinput
COPY docker/conf/nginx-app.conf /etc/nginx/sites-available/default
COPY docker/conf/supervisor-app.conf /etc/supervisor/conf.d/
58 changes: 0 additions & 58 deletions Vagrantfile

This file was deleted.

1 change: 1 addition & 0 deletions captures/serializers.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,5 @@ class CaptureSerializer(TaggitSerializer,ModelSerializer):
tags = TagListSerializerField()

class Meta:
exclude = []
model = Capture
2 changes: 1 addition & 1 deletion captures/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def post(self, request, *args, **kwargs):
for tag in tag_list:
instance.tags.add(tag)
instance.save()
processCapture.delay(instance.pk)
processCapture.apply_async([instance.pk], countdown=1)
return Response('Capture upload successful')

class CaptureListView(generics.ListCreateAPIView):
Expand Down
12 changes: 10 additions & 2 deletions devices/serializers.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,34 @@
__author__ = 'gmazlami'
from taggit_serializer.serializers import TagListSerializerField,TaggitSerializer
from rest_framework import serializers
from taggit_serializer.serializers import TagListSerializerField, TaggitSerializer

from models import Device, Command, CommandTemplate
from models import Status


class DeviceSerializer(TaggitSerializer, serializers.ModelSerializer):
tags = TagListSerializerField()

class Meta:
exclude = []
model = Device

class StatusSerializer(serializers.ModelSerializer):

class StatusSerializer(serializers.ModelSerializer):
class Meta:
exclude = []
model = Status


class CommandSerializer(serializers.ModelSerializer):
class Meta:
exclude = []
model = Command


class CommandTemplateSerializer(TaggitSerializer, serializers.ModelSerializer):
tags = TagListSerializerField()

class Meta:
exclude = []
model = CommandTemplate
64 changes: 6 additions & 58 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,37 +1,21 @@
# nginx reverse-proxy
nginx:
image: probr/core-nginx:latest
ports:
- "80:80"
volumes_from:
- dataprobr
links:
- web:probr_core
- websocket:probr_core_ws

# probr-core, django app
web:
image: probr/core:latest
command: sh install/docker/web/run.sh
build: .
command: /bin/bash -c "/scripts/wait-for-it.sh postgres:5432 -- /usr/local/bin/ep -v /code/probr/settings.py; python /code/manage.py migrate; python /code/manage.py loaddata /code/initial.json; supervisord -n"
ports:
- "8001:8001"
- "8002:8002"
volumes_from:
- dataprobr
links:
- postgres:postgres
- redis:redis

# probr-core, websockets
websocket:
image: probr/core:latest
command: sh install/docker/web/websocket.sh
ports:
- "8002:8002"

# probr-core, websockets
worker:
image: probr/core:latest
command: sh install/docker/web/worker.sh
build: .
command: /bin/bash -c "/scripts/wait-for-it.sh postgres:5432 -- /usr/local/bin/ep -v /code/probr/settings.py; python /code/manage.py migrate; celery worker --workdir /code/ -A probr -S django"
volumes_from:
- dataprobr
links:
Expand All @@ -41,52 +25,16 @@ worker:
# database container
postgres:
image: postgres:9.4.5
volumes_from:
- datapostgres
environment:
POSTGRES_USER: probr
POSTGRES_PASSWORD: probr

# mongodb
mongodb:
image: mongo:3.0.6
volumes_from:
- datamongodb

# influxdb
influxdb:
image: tutum/influxdb:0.9
ports:
- "8083:8083"
- "8086:8086"
volumes_from:
- datainflux

# redis container
redis:
image: redis:2.8.19

# data container for postgres
datapostgres:
image: cogniteev/echo
volumes:
- /var/lib/postgresql

# data container for mongodb
datamongodb:
image: cogniteev/echo
volumes:
- /data/db

# data container for mongodb
datainflux:
image: cogniteev/echo
volumes:
- /var/influxdb

# data container for probr
dataprobr:
image: cogniteev/echo
volumes:
- ./media:/app/media
- ./static:/app/static
- ./media:/code/media
38 changes: 38 additions & 0 deletions docker/conf/nginx-app.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# configuration of the server
gzip_disable "msie6";

gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 50;
gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application/xml+rss text/javascript application/vnd.ms-fontobject application/x-font-ttf font/opentype image/svg+xml image/x-icon;

server {

listen 80;
charset utf-8;

location /media {
alias /code/media;
}

location /static {
alias /code/static;
}

location /ws/ {
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_pass http://127.0.0.1:8002;
}

location / {
uwsgi_pass unix:/code/app.sock;
include /conf/uwsgi_params; # the uwsgi_params file you installed
}

}
8 changes: 8 additions & 0 deletions docker/conf/supervisor-app.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
[program:uwsgi-app]
command = /usr/local/bin/uwsgi --ini /conf/uwsgi_app.ini

[program:uwsgi-websockets]
command = /usr/local/bin/uwsgi --http-socket :8002 --module probr.wsgi_websocket:application --gevent 1000 --http-websockets --workers=2 --master

[program:nginx-app]
command = /usr/sbin/nginx
9 changes: 9 additions & 0 deletions docker/conf/uwsgi_app.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[uwsgi]
vhost = true
socket = /code/app.sock
master = true
enable-threads = true
processes = 4
wsgi-file = /code/probr/wsgi_django.py
chdir = /code/
chmod-socket = 666
16 changes: 16 additions & 0 deletions docker/conf/uwsgi_params
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@

uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;

uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param HTTPS $https if_not_empty;

uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
Loading