mirror of https://gitlab.crans.org/bde/nk20
Merge branch 'master' of gitlab.crans.org:bde/nk20
This commit is contained in:
commit
69dd8b50a5
|
@ -0,0 +1,18 @@
|
||||||
|
FROM python:3-buster
|
||||||
|
|
||||||
|
ENV PYTHONUNBUFFERED 1
|
||||||
|
|
||||||
|
RUN mkdir /code
|
||||||
|
WORKDIR /code
|
||||||
|
|
||||||
|
RUN apt update && \
|
||||||
|
apt install -y gettext nginx uwsgi uwsgi-plugin-python3 && \
|
||||||
|
rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
COPY requirements.txt /code/
|
||||||
|
RUN pip install -r requirements.txt
|
||||||
|
|
||||||
|
COPY . /code/
|
||||||
|
|
||||||
|
ENTRYPOINT ["/code/entrypoint.sh"]
|
||||||
|
EXPOSE 8000
|
40
README.md
40
README.md
|
@ -36,13 +36,18 @@ On supposera pour la suite que vous utiliser debian/ubuntu sur un serveur tout n
|
||||||
|
|
||||||
4. uwsgi et Nginx
|
4. uwsgi et Nginx
|
||||||
|
|
||||||
|
Un exemple de conf est disponible :
|
||||||
|
|
||||||
|
$ cp nginx_note.conf_example nginx_note.conf
|
||||||
|
|
||||||
|
*** Modifier le fichier pour etre en accord avec le reste de votre config ***
|
||||||
|
|
||||||
On utilise uwsgi et Nginx pour gérer le coté serveu :
|
On utilise uwsgi et Nginx pour gérer le coté serveu :
|
||||||
|
|
||||||
$ sudo ln -sf /var/www/note_kfet/nginx_note.conf /etc/nginx/sites-enabled/
|
$ sudo ln -sf /var/www/note_kfet/nginx_note.conf /etc/nginx/sites-enabled/
|
||||||
|
|
||||||
**Modifier la config nginx pour l'adapter à votre server!**
|
|
||||||
|
|
||||||
Si l'on a un emperor (plusieurs instance uwsgi):
|
Si l'on a un emperor (plusieurs instance uwsgi):
|
||||||
|
|
||||||
$ sudo ln -sf /var/www/note_kfet/uwsgi_note.ini /etc/uwsgi/sites/
|
$ sudo ln -sf /var/www/note_kfet/uwsgi_note.ini /etc/uwsgi/sites/
|
||||||
|
|
||||||
|
@ -50,6 +55,8 @@ On supposera pour la suite que vous utiliser debian/ubuntu sur un serveur tout n
|
||||||
|
|
||||||
$ sudo ln -sf /var/www/note_kfet/uwsgi_note.ini /etc/uwsgi/apps-enabled/
|
$ sudo ln -sf /var/www/note_kfet/uwsgi_note.ini /etc/uwsgi/apps-enabled/
|
||||||
|
|
||||||
|
Le touch-reload est activé par défault, pour redémarrer la note il suffit donc de faire `touch uwsgi_note.ini`.
|
||||||
|
|
||||||
5. Base de données
|
5. Base de données
|
||||||
|
|
||||||
En prod on utilise postgresql.
|
En prod on utilise postgresql.
|
||||||
|
@ -95,7 +102,7 @@ On supposera pour la suite que vous utiliser debian/ubuntu sur un serveur tout n
|
||||||
DJANGO_APP_STAGE='prod'
|
DJANGO_APP_STAGE='prod'
|
||||||
DJANGO_DB_PASSWORD='le_mot_de_passe_de_la_bdd'
|
DJANGO_DB_PASSWORD='le_mot_de_passe_de_la_bdd'
|
||||||
DJANGO_SECRET_KEY='une_secret_key_longue_et_compliquee'
|
DJANGO_SECRET_KEY='une_secret_key_longue_et_compliquee'
|
||||||
|
ALLOWED_HOSTS='le_ndd_de_votre_instance'
|
||||||
|
|
||||||
|
|
||||||
6. Variable d'environnement et Migrations
|
6. Variable d'environnement et Migrations
|
||||||
|
@ -112,12 +119,35 @@ Ensuite on (re)bascule dans l'environement virtuel et on lance les migrations
|
||||||
7. Enjoy
|
7. Enjoy
|
||||||
|
|
||||||
|
|
||||||
|
## Installer avec Docker
|
||||||
|
|
||||||
|
Il est possible de travailler sur une instance Docker.
|
||||||
|
|
||||||
|
1. Cloner le dépôt là où vous voulez :
|
||||||
|
|
||||||
|
$ git clone git@gitlab.crans.org:bde/nk20.git
|
||||||
|
|
||||||
|
2. Dans le fichier `docker_compose.yml`, qu'on suppose déjà configuré, ajouter les lignes suivantes, en les adaptant à la configuration voulue :
|
||||||
|
|
||||||
|
nk20:
|
||||||
|
build: /chemin/vers/nk20
|
||||||
|
volumes:
|
||||||
|
- /chemin/vers/nk20:/code/
|
||||||
|
restart: always
|
||||||
|
labels:
|
||||||
|
- traefik.domain=ndd.exemple.com
|
||||||
|
- traefik.frontend.rule=Host:ndd.exemple.com
|
||||||
|
- traefik.port=8000
|
||||||
|
|
||||||
|
3. Enjoy :
|
||||||
|
|
||||||
|
$ docker-compose up -d nk20
|
||||||
|
|
||||||
## Installer en local
|
## Installer en local
|
||||||
|
|
||||||
Il est tout a fait possible de travailler en local, vive `./manage.py runserver` !
|
Il est tout-à-fait possible de travailler en local, vive `./manage.py runserver` !
|
||||||
|
|
||||||
1. Cloner le dépot là ou vous voulez:
|
1. Cloner le dépôt là où vous voulez :
|
||||||
|
|
||||||
$ git clone git@gitlab.crans.org:bde/nk20.git
|
$ git clone git@gitlab.crans.org:bde/nk20.git
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
python manage.py compilemessages
|
||||||
|
python manage.py makemigrations
|
||||||
|
sleep 5
|
||||||
|
python manage.py migrate
|
||||||
|
|
||||||
|
# TODO: use uwsgi in production
|
||||||
|
python manage.py runserver 0.0.0.0:8000
|
|
@ -32,6 +32,7 @@ if app_stage == 'prod':
|
||||||
from .production import *
|
from .production import *
|
||||||
DATABASES["default"]["PASSWORD"] = os.environ.get('DJANGO_DB_PASSWORD','CHANGE_ME_IN_ENV_SETTINGS');
|
DATABASES["default"]["PASSWORD"] = os.environ.get('DJANGO_DB_PASSWORD','CHANGE_ME_IN_ENV_SETTINGS');
|
||||||
SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY','CHANGE_ME_IN_ENV_SETTINGS');
|
SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY','CHANGE_ME_IN_ENV_SETTINGS');
|
||||||
|
ALLOWED_HOSTS.append(os.environ.get('ALLOWED_HOSTS','localhost'));
|
||||||
else:
|
else:
|
||||||
from .development import *
|
from .development import *
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ DATABASES = {
|
||||||
DEBUG = True
|
DEBUG = True
|
||||||
|
|
||||||
# Mandatory !
|
# Mandatory !
|
||||||
ALLOWED_HOSTS = ['127.0.0.1','note.comby.xyz']
|
ALLOWED_HOSTS = ['*']
|
||||||
|
|
||||||
# Emails
|
# Emails
|
||||||
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
|
||||||
|
|
Loading…
Reference in New Issue