mirror of https://gitlab.crans.org/bde/nk20
Format README and fix link
This commit is contained in:
parent
9c679d5bc9
commit
4a4c3d33b0
76
README.md
76
README.md
|
@ -6,64 +6,67 @@
|
||||||
|
|
||||||
## Installation sur un serveur
|
## Installation sur un serveur
|
||||||
|
|
||||||
On supposera pour la suite que vous utilisez Debian/Ubuntu sur un serveur tout nu ou bien configuré.
|
On supposera pour la suite que vous utilisez une installation de Debian Buster ou Ubuntu 20.04 fraîche ou bien configuré.
|
||||||
|
|
||||||
1. Paquets nécessaires
|
Pour aller vite vous pouvez lancer le Playbook Ansible fournit dans ce dépôt en l'adaptant.
|
||||||
|
Sinon vous pouvez suivre les étapes ici.
|
||||||
|
|
||||||
$ sudo apt install nginx python3 python3-pip python3-dev uwsgi
|
### Installation avec Debian/Ubuntu
|
||||||
$ sudo apt install uwsgi-plugin-python3 python3-venv git acl
|
|
||||||
|
|
||||||
La génération des factures de l'application trésorerie nécessite une installation de LaTeX suffisante :
|
1. **Installation des dépendances APT.**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ sudo apt install nginx python3 python3-pip python3-dev uwsgi uwsgi-plugin-python3 python3-venv git acl
|
||||||
|
```
|
||||||
|
|
||||||
|
La génération des factures de l'application trésorerie nécessite une installation de LaTeX suffisante,
|
||||||
|
|
||||||
|
```bash
|
||||||
$ sudo apt install texlive-latex-extra texlive-fonts-extra texlive-lang-french
|
$ sudo apt install texlive-latex-extra texlive-fonts-extra texlive-lang-french
|
||||||
|
```
|
||||||
|
|
||||||
2. Clonage du dépot
|
2. **Clonage du dépot** dans `/var/www/note_kfet`,
|
||||||
|
|
||||||
on se met au bon endroit :
|
```bash
|
||||||
|
$ mkdir -p /var/www/note_kfet && cd /var/www/note_kfet
|
||||||
|
$ sudo chown www-data:www-data .
|
||||||
|
$ sudo chmod g+rwx .
|
||||||
|
$ sudo -u www-data git clone git@gitlab.crans.org:bde/nk20.git .
|
||||||
|
```
|
||||||
|
|
||||||
$ cd /var/www/
|
3. **Création d'un environment de travail Python décorrélé du système.**
|
||||||
$ mkdir note_kfet
|
|
||||||
$ sudo chown www-data:www-data note_kfet
|
|
||||||
$ sudo usermod -a -G www-data $USER
|
|
||||||
$ sudo chmod g+ws note_kfet
|
|
||||||
$ sudo setfacl -d -m "g::rwx" note_kfet
|
|
||||||
$ cd note_kfet
|
|
||||||
$ git clone git@gitlab.crans.org:bde/nk20.git .
|
|
||||||
3. Environment Virtuel
|
|
||||||
|
|
||||||
À la racine du projet:
|
|
||||||
|
|
||||||
|
```bash
|
||||||
$ python3 -m venv env
|
$ python3 -m venv env
|
||||||
$ source env/bin/activate
|
$ source env/bin/activate
|
||||||
(env)$ pip3 install -r requirements/base.txt
|
(env)$ pip3 install -r requirements/base.txt
|
||||||
(env)$ pip3 install -r requirements/prod.txt # uniquement en prod, nécessite un base postgres
|
(env)$ pip3 install -r requirements/prod.txt # uniquement en prod, nécessite une base postgres
|
||||||
(env)$ deactivate
|
(env)$ deactivate # sortir de l'environnement
|
||||||
|
```
|
||||||
|
|
||||||
4. uwsgi et Nginx
|
4. **Pour configurer UWSGI et NGINX**, des exemples de conf sont disponibles.
|
||||||
|
**_Modifier le fichier pour être en accord avec le reste de votre config_**
|
||||||
Un exemple de conf est disponible :
|
|
||||||
|
|
||||||
|
```bash
|
||||||
$ cp nginx_note.conf_example nginx_note.conf
|
$ cp nginx_note.conf_example nginx_note.conf
|
||||||
|
|
||||||
***Modifier le fichier pour être en accord avec le reste de votre config***
|
|
||||||
|
|
||||||
On utilise uwsgi et Nginx pour gérer le coté serveur :
|
|
||||||
|
|
||||||
$ 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/
|
||||||
|
```
|
||||||
|
|
||||||
Si l'on a un emperor (plusieurs instance uwsgi):
|
Si l'on a un emperor (plusieurs instance uwsgi):
|
||||||
|
|
||||||
|
```bash
|
||||||
$ 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/
|
||||||
|
```
|
||||||
|
|
||||||
Sinon:
|
Sinon si on est dans le cas habituel :
|
||||||
|
|
||||||
|
```bash
|
||||||
$ 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`.
|
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 production on utilise PostgreSQL.
|
||||||
|
|
||||||
En prod on utilise postgresql.
|
|
||||||
|
|
||||||
$ sudo apt-get install postgresql postgresql-contrib libpq-dev
|
$ sudo apt-get install postgresql postgresql-contrib libpq-dev
|
||||||
(env)$ pip3 install psycopg2
|
(env)$ pip3 install psycopg2
|
||||||
|
@ -135,10 +138,9 @@ On supposera pour la suite que vous utilisez Debian/Ubuntu sur un serveur tout n
|
||||||
(env)$ ./manage.py makemigrations
|
(env)$ ./manage.py makemigrations
|
||||||
(env)$ ./manage.py migrate
|
(env)$ ./manage.py migrate
|
||||||
|
|
||||||
7. Enjoy
|
7. *Enjoy \o/*
|
||||||
|
|
||||||
|
### Installation avec Docker
|
||||||
## Installer avec Docker
|
|
||||||
|
|
||||||
Il est possible de travailler sur une instance Docker.
|
Il est possible de travailler sur une instance Docker.
|
||||||
|
|
||||||
|
@ -163,11 +165,11 @@ et mettez à jour vos variables d'environnement
|
||||||
- traefik.frontend.rule=Host:ndd.example.com
|
- traefik.frontend.rule=Host:ndd.example.com
|
||||||
- traefik.port=8000
|
- traefik.port=8000
|
||||||
|
|
||||||
3. Enjoy :
|
4. Enjoy :
|
||||||
|
|
||||||
$ docker-compose up -d nk20
|
$ docker-compose up -d nk20
|
||||||
|
|
||||||
## Installer un serveur de développement
|
## Lancer un serveur de développement
|
||||||
|
|
||||||
Avec `./manage.py runserver` il est très rapide de mettre en place
|
Avec `./manage.py runserver` il est très rapide de mettre en place
|
||||||
un serveur de développement par exemple sur son ordinateur.
|
un serveur de développement par exemple sur son ordinateur.
|
||||||
|
|
Loading…
Reference in New Issue