--- /dev/null
+import os, sys
+from django.core.asgi import get_asgi_application
+
+#sys.path.append(os.path.dirname('.'))
+os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'settings')
+django_asgi_app = get_asgi_application()
+
+from channels.auth import AuthMiddlewareStack
+from channels.routing import ProtocolTypeRouter, URLRouter
+from django.urls import re_path
+from teleforma.ws import chat
+
+websocket_urlpatterns = [
+ re_path(r'ws/chat/(?P<room_name>\w+)/$', chat.ChatConsumer.as_asgi()),
+]
+
+
+application = ProtocolTypeRouter({
+ "http": django_asgi_app,
+ "websocket": AuthMiddlewareStack(
+ URLRouter(
+ websocket_urlpatterns
+ )
+ ),
+})
+
+
+
+
+
--- /dev/null
+
+daphne -b 0.0.0.0 -p 8000 asgi:application
+
+++ /dev/null
-#!/bin/bash
-
-# paths
-app='/srv/app'
-manage=$app'/manage.py'
-wsgi=$app'/wsgi.py'
-static='/srv/static/'
-media='/srv/media/'
-src='/srv/src/'
-uwsgi_log='/var/log/uwsgi/app.log'
-debug_log='/var/log/app/debug.log'
-
-# uwsgi params
-port=8000
-processes=8
-threads=16
-autoreload=3
-uid='www-data'
-gid='www-data'
-# patterns='*.js;*.css;*.jpg;*.jpeg;*.gif;*.png;*.svg;*.ttf;*.eot;*.woff;*.woff2'
-
-# Install a package in development mode
-# without rebuidling docker image.
-# You need at first checkout your sources in 'lib' folder
-# in host project side, then run :
-# pip install -e /srv/lib/mypackage...
-#pip install mysqlclient==1.3.13
-
-# Install (staging) libs
-# /srv/bin/build/local/setup_lib.sh
-
-# waiting for other services
-sh $app/bin/wait.sh
-
-# django setup
-#python $manage wait-for-db
-
-# initial setup
-# if [ ! -f .init ]; then
-# bash $app/bin/init.sh
-# touch .init
-# fi
-
-# app start
-if [ "$1" = "--runserver" ]; then
- python $manage runserver 0.0.0.0:8000
-else
- # static files auto update
- # watchmedo shell-command --patterns="$patterns" --recursive \
- # --command='python '$manage' collectstatic --noinput' $app &
-
- python $manage collectstatic --noinput
-
- chown www-data: $debug_log
-
- uwsgi --socket :$port --wsgi-file $wsgi --chdir $app --master \
- --processes $processes --threads $threads \
- --uid $uid --gid $gid --logto $uwsgi_log --touch-reload $wsgi
-fi
+++ /dev/null
-#!/bin/bash
-
-# paths
-app='/srv/app'
-manage=$app'/manage.py'
-
-python $manage migrate --noinput
-python $manage create-admin-user
-python $manage create-default-organization
-python $manage build-front
-
-# @todo searching every fixtures file in each folder
-python $manage loaddata $app/organization/job/fixtures/organization-job.json
-python $manage loaddata $app/organization/projects/fixtures/organization-projects-repositorysystems.json
-
-bash /srv/doc/build.sh
+++ /dev/null
-#!/bin/sh
-
-/srv/bin/misc/wait-for-it/wait-for-it.sh -h $DB_HOST -p $DB_PORT;
-/srv/bin/misc/wait-for-it/wait-for-it.sh -h redis -p 6379;
--- /dev/null
+#!/bin/bash
+
+# paths
+app='/srv/app'
+manage=$app'/manage.py'
+
+python $manage migrate --noinput
+python $manage create-admin-user
+python $manage create-default-organization
+python $manage build-front
+
+# @todo searching every fixtures file in each folder
+python $manage loaddata $app/organization/job/fixtures/organization-job.json
+python $manage loaddata $app/organization/projects/fixtures/organization-projects-repositorysystems.json
+
+bash /srv/doc/build.sh
'file': {
'level': 'DEBUG',
'class': 'logging.FileHandler',
- 'filename': "/var/log/app.log",
+ 'filename': "/var/log/app/app.log",
'formatter': 'simple',
},
'console': {
#THUMBNAIL_FORCE_OVERWRITE = True
-ALLOWED_HOSTS = ['localhost', 'crfpa.dockdev.pilotsystems.net']
+ALLOWED_HOSTS = ['localhost', 'crfpa.dockdev.pilotsystems.net',
+ 'staging.docker.e-learning.crfpa.pre-barreau.parisson.com',
+]
JAZZMIN_SETTINGS = {
"site_title": "CRFPA",
--- /dev/null
+#!/bin/sh
+
+/srv/bin/misc/wait-for-it/wait-for-it.sh -h $DB_HOST -p $DB_PORT;
+/srv/bin/misc/wait-for-it/wait-for-it.sh -h redis -p 6379;
--- /dev/null
+#!/bin/bash
+
+# paths
+app='/srv/app'
+manage=$app'/manage.py'
+wsgi=$app'/wsgi.py'
+static='/srv/static/'
+media='/srv/media/'
+src='/srv/src/'
+uwsgi_log='/var/log/uwsgi/app.log'
+debug_log='/var/log/app/debug.log'
+
+# uwsgi params
+port=8000
+processes=64
+#threads=2
+autoreload=3
+uid='www-data'
+gid='www-data'
+# patterns='*.js;*.css;*.jpg;*.jpeg;*.gif;*.png;*.svg;*.ttf;*.eot;*.woff;*.woff2'
+
+# Install a package in development mode
+# without rebuidling docker image.
+# You need at first checkout your sources in 'lib' folder
+# in host project side, then run :
+# pip install -e /srv/lib/mypackage...
+pip3 install -U uwsgi
+
+# Install (staging) libs
+# /srv/bin/build/local/setup_lib.sh
+
+# waiting for other services
+sh $app/wait.sh
+
+# django setup
+#python $manage wait-for-db
+
+# initial setup
+# if [ ! -f .init ]; then
+# bash $app/bin/init.sh
+# touch .init
+# fi
+
+# app start
+if [ "$1" = "--runserver" ]; then
+ python $manage runserver 0.0.0.0:8000
+else
+ # static files auto update
+ # watchmedo shell-command --patterns="$patterns" --recursive \
+ # --command='python '$manage' collectstatic --noinput' $app &
+
+ python $manage collectstatic --noinput
+
+ chown -R www-data: $debug_log
+
+ uwsgi --socket :$port --wsgi-file $wsgi --chdir $app --master \
+ --processes $processes \
+ --uid $uid --gid $gid --logto $uwsgi_log --touch-reload $wsgi
+fi
context: .
args:
dev: 1
- command: /bin/sh /srv/app/bin/app.sh --runserver
+ command: /bin/sh /srv/app/wsgi.sh --runserver
volumes:
- ./app/:/srv/app
- ./bin:/srv/bin
- ./var/media:/srv/media
- ./var/backup:/srv/backup
- ./var/static:/srv/static
+ - ./var/log/app:/var/log/app
+ - ./var/log/uwsgi:/var/log/uwsgi
ports:
- - "8000:8000"
+ - "9001:8000"
links:
- postgres
- redis
DEBUG=True
-MYSQL_ROOT_PASSWORD=mysecretpassword
-MYSQL_DATABASE=teleforma
-MYSQL_USER=teleforma
-MYSQL_PASSWORD=mysecretpassword
DB_PORT=5432
DB_HOST=postgres
-
POSTGRES_PASSWORD=mysecretpassword
POSTGRES_DATABASE=teleforma
POSTGRES_USER=teleforma
-DEBUG=False
+DEBUG=True
-MYSQL_ROOT_PASSWORD=mysecretpassword
-MYSQL_DATABASE=teleforma
-MYSQL_USER=teleforma
-MYSQL_PASSWORD=mysecretpassword
-DB_PORT=3306
+DB_PORT=5432
+DB_HOST=postgres
+POSTGRES_PASSWORD=mysecretpassword
+POSTGRES_DATABASE=teleforma
+POSTGRES_USER=teleforma
version: '3'
services:
- app:
- restart: unless-stopped
- env_file:
- - env/prod.env
-
+ app:
+ command: /bin/sh /srv/app/wsgi.sh
+ restart: unless-stopped
+ env_file:
+ - env/prod.env
+
+ channels:
+ build:
+ context: .
+ args:
+ dev: 1
+ command: /bin/sh /srv/app/asgi.sh
+ volumes:
+ - ./app/:/srv/app
+ - ./bin:/srv/bin
+ - ./lib:/srv/lib
+ - ./teleforma/:/srv/src/teleforma/teleforma
+ - ./var/log/app:/var/log/app
+ ports:
+ - "9002:8000"
+ links:
+ - postgres
+ - redis
+ env_file:
+ - env/prod.env
-Subproject commit 366878027aafe7f42dbcab8eed55e76259dcecd7
+Subproject commit c6b953270e4e8a7d97853d7a784f8e6df9ed9c53
xlwt==1.3.0
psycopg2==2.8.6
redis==3.5.3
+uwsgi==2.0.19
+daphne==3.0.2