diff --git a/README.md b/README.md index 3ca63c7..c53fc42 100644 --- a/README.md +++ b/README.md @@ -42,12 +42,25 @@ puis on va dire à Apache2 d'utiliser ce socket avec un `.htaccess`. Pour cela on va imiter ce que fait l'image Docker, ```bash +git clone https://gitlab.crans.org/mediatek/med.git django-med +chmod go-rwx -R django-med python3 -m venv venv . venv/bin/activate pip install -r requirements.txt ./entrypoint.sh ``` +Pour lancer le serveur au démarrage de Zamok, +on ajoute dans la crontab de l'utilisateur club-med (`crontab -e`) +la ligne suivante : + +```crontab +@reboot /home/club-med/django-med/entrypoint.sh +``` + +Il est néanmoins une mauvaise idée de faire de la production sur SQLite, +on configure donc ensuite Django et une base de données. + #### Configuration d'une base de données Sur le serveur MySQL ou PostgreSQL, il est nécessaire de créer une base de donnée med, diff --git a/entrypoint.sh b/entrypoint.sh index 456da97..58c346f 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -11,16 +11,19 @@ sleep 2 python manage.py migrate python manage.py collectstatic +# harakiri parameter respawns processes taking more than 20 seconds +# max-requests parameter respawns processes after serving 5000 requests +# vacuum parameter cleans up when stopped uwsgi --chdir="$(pwd)" \ --module=med.wsgi:application \ --env DJANGO_SETTINGS_MODULE=med.settings \ --master \ - --pidfile="$(pwd)/uwsgi.pid" \ # create a pidfile + --pidfile="$(pwd)/uwsgi.pid" \ --socket="$(pwd)/uwsgi.sock" \ --processes=5 \ --chmod-socket=600 \ - --harakiri=20 \ # respawn processes taking more than 20 seconds - --max-requests=5000 \ # respawn processes after serving 5000 requests - --vacuum \ # clean up when stopped + --harakiri=20 \ + --max-requests=5000 \ + --vacuum \ --daemonize="$(pwd)/uwsgi.log" \ --protocol=fastcgi \ No newline at end of file