From 7f7a62cfa2f1f7c9cd9eeb057f1f0805354950e9 Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Sat, 3 Mar 2018 10:52:48 +0100
Subject: [PATCH] Replaced gunicorn with daphne

---
 api/compose/django/daphne.sh      | 3 +++
 api/compose/django/gunicorn.sh    | 3 ---
 api/config/asgi.py                | 8 ++++++++
 api/config/settings/production.py | 2 --
 api/docker/Dockerfile.test        | 1 +
 api/requirements/production.txt   | 5 +----
 6 files changed, 13 insertions(+), 9 deletions(-)
 create mode 100755 api/compose/django/daphne.sh
 delete mode 100755 api/compose/django/gunicorn.sh
 create mode 100644 api/config/asgi.py

diff --git a/api/compose/django/daphne.sh b/api/compose/django/daphne.sh
new file mode 100755
index 00000000..16b4d50b
--- /dev/null
+++ b/api/compose/django/daphne.sh
@@ -0,0 +1,3 @@
+#!/bin/bash -eux
+python /app/manage.py collectstatic --noinput
+/usr/local/bin/daphne --root-path=/app -b 0.0.0.0 -p 5000 config.asgi:application
diff --git a/api/compose/django/gunicorn.sh b/api/compose/django/gunicorn.sh
deleted file mode 100755
index 014f173e..00000000
--- a/api/compose/django/gunicorn.sh
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-python /app/manage.py collectstatic --noinput
-/usr/local/bin/gunicorn config.wsgi -w 4 -b 0.0.0.0:5000 --chdir=/app
\ No newline at end of file
diff --git a/api/config/asgi.py b/api/config/asgi.py
new file mode 100644
index 00000000..b976a02e
--- /dev/null
+++ b/api/config/asgi.py
@@ -0,0 +1,8 @@
+import django
+import os
+
+os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings.production")
+
+django.setup()
+
+from .routing import application
diff --git a/api/config/settings/production.py b/api/config/settings/production.py
index df15d325..f238c2d2 100644
--- a/api/config/settings/production.py
+++ b/api/config/settings/production.py
@@ -58,8 +58,6 @@ CSRF_TRUSTED_ORIGINS = ALLOWED_HOSTS
 
 # END SITE CONFIGURATION
 
-INSTALLED_APPS += ("gunicorn", )
-
 # STORAGE CONFIGURATION
 # ------------------------------------------------------------------------------
 # Uploaded Media Files
diff --git a/api/docker/Dockerfile.test b/api/docker/Dockerfile.test
index 032b2842..00638e9d 100644
--- a/api/docker/Dockerfile.test
+++ b/api/docker/Dockerfile.test
@@ -21,4 +21,5 @@ RUN pip install -r /requirements/local.txt
 COPY ./requirements/test.txt /requirements/test.txt
 RUN pip install -r /requirements/test.txt
 
+COPY . /app
 WORKDIR /app
diff --git a/api/requirements/production.txt b/api/requirements/production.txt
index 42b66eb1..4ad8edf9 100644
--- a/api/requirements/production.txt
+++ b/api/requirements/production.txt
@@ -4,7 +4,4 @@
 # WSGI Handler
 # ------------------------------------------------
 
-# there's no python 3 support in stable, have to use the latest release candidate for gevent
-gevent==1.1rc1
-
-gunicorn==19.4.1
+daphne==2.0.4
-- 
GitLab