This commit is contained in:
Daniel Allaire 2026-03-13 11:46:14 -04:00
parent f66d6af105
commit 8ba326bc18

View file

@ -1,34 +1,28 @@
# Guide de déploiement — Groupe Méditation # Guide de déploiement — Groupe Méditation
## 27 modules · Debian Bookworm + NGINX + PostgreSQL 16 ## 27 modules · Debian Bookworm + NGINX + PostgreSQL
Testé sur Debian 12 (Bookworm) avec un utilisateur `ansible` ayant accès sudo. Testé sur Debian 12 (Bookworm) avec un utilisateur `ansible` ayant accès sudo.
Principe : on utilise ce que Debian fournit. Pas de dépôt externe.
--- ---
## 0. Prérequis système ## 0. Prérequis système
```bash ```bash
sudo apt update sudo apt update && sudo apt upgrade -y
sudo apt install -y curl ca-certificates gnupg sudo apt install -y curl ca-certificates gnupg
``` ```
--- ---
## 1. Installer PostgreSQL 16 ## 1. Installer PostgreSQL
Debian Bookworm inclut PostgreSQL 15 par défaut. Pour le 16, ajouter le dépôt officiel PGDG : On installe le PostgreSQL fourni par Debian Bookworm (version 15) :
```bash ```bash
sudo install -d /usr/share/postgresql-common/pgdg sudo apt install -y postgresql postgresql-client
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc \
--fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt bookworm-pgdg main" \
| sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt update
sudo apt install -y postgresql-16 postgresql-client-16
sudo systemctl enable postgresql sudo systemctl enable postgresql
sudo systemctl start postgresql sudo systemctl start postgresql
``` ```
@ -53,13 +47,12 @@ sudo -u postgres psql -c "SELECT version();"
--- ---
## 2. Installer Node.js 20 ## 2. Installer Node.js
Debian Bookworm inclut Node.js 18. Pour le 20 : On installe le Node.js fourni par Debian Bookworm (version 18) :
```bash ```bash
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs npm
sudo apt install -y nodejs
``` ```
Vérifier : Vérifier :
@ -146,6 +139,7 @@ sudo /opt/groupe-meditation/backend/venv/bin/python deploy/seed.py
``` ```
Le script crée **interactivement** : Le script crée **interactivement** :
- Les 23 tables - Les 23 tables
- Les 10 postes prédéfinis - Les 10 postes prédéfinis
- La répartition par défaut des contributions (30/30/30/10) - La répartition par défaut des contributions (30/30/30/10)
@ -252,13 +246,13 @@ curl -s https://groupe-meditation.chezlepro.ca/api/health | python3 -m json.tool
## Dépannage ## Dépannage
| Problème | Commande | | Problème | Commande |
|----------|----------| |------------------------|-------------------------------------------------------------------------------|
| API ne démarre pas | `sudo journalctl -u groupe-meditation -f` | | API ne démarre pas | `sudo journalctl -u groupe-meditation -f` |
| Erreur base de données | `sudo -u postgres psql -d groupe_meditation -c "SELECT count(*) FROM groupes;"` | | Erreur base de données | `sudo -u postgres psql -d groupe_meditation -c "SELECT count(*) FROM groupes;"` |
| NGINX 502 | `sudo systemctl status groupe-meditation` | | NGINX 502 | `sudo systemctl status groupe-meditation` |
| WeasyPrint échoue | `sudo apt install libpango-1.0-0 libpangocairo-1.0-0` | | WeasyPrint échoue | `sudo apt install libpango-1.0-0 libpangocairo-1.0-0` |
| seed.py ImportError | Vérifier les noms de classes dans `backend/app/models/` | | [seed.py](http://seed.py) ImportError | Vérifier les noms de classes dans `backend/app/models/` |
## Mise à jour de l'application ## Mise à jour de l'application