98 lines
2.4 KiB
Markdown
98 lines
2.4 KiB
Markdown
## bottin/presences
|
|
|
|
Application de gestion de présences en Assemblée Générale
|
|
|
|
### Example
|
|
|
|
Le déploiement de base assume le déploiement d'une instance de serveur API https://git.agecem.com/bottin/bottin, ainsi que d'un serveur postgresql pour bottin ET un autre pour bottin/presences (cette application). Le tout est déployé localement par `docker-compose`.
|
|
|
|
#### Déploiement de base
|
|
|
|
##### .env - config initiale des DBs
|
|
|
|
Ajouter fichier `.env` à côté de `compose.yaml`:
|
|
|
|
```bash
|
|
# .env
|
|
|
|
## bottin
|
|
BOTTIN_SERVER_API_KEY='CHANGE_ME'
|
|
BOTTIN_SERVER_API_POSTGRES_DATABASE='bottin'
|
|
BOTTIN_SERVER_API_POSTGRES_PASSWORD='CHANGE_ME'
|
|
BOTTIN_SERVER_API_POSTGRES_USER='bottin'
|
|
BOTTIN_SERVER_API_POSTGRES_HOST='bottin-db'
|
|
BOTTIN_SERVER_API_TLS_ENABLED='false'
|
|
|
|
## presences
|
|
PRESENCES_DB_DATABASE='presences'
|
|
PRESENCES_DB_PASSWORD='CHANGE_ME'
|
|
PRESENCES_DB_USERNAME='presences'
|
|
```
|
|
|
|
##### déploiement par docker-compose
|
|
|
|
Pull `bottin` et `postgresql`, build `bottin/presences`, crée les volumes et networks, crée les containers mais ne démarre rien.
|
|
|
|
```sh
|
|
docker compose up --build --no-start
|
|
```
|
|
|
|
Avant de démarrer l'application, s'assurer d'ajouter les fichiers suivants au volume `presences_presences-config`
|
|
|
|
##### config.yaml
|
|
|
|
Préparer la configuration:
|
|
|
|
```yaml
|
|
# presences-config:/etc/presences/config.yaml
|
|
Bottin:
|
|
Host: bottin-api
|
|
Key: CHANGE_ME
|
|
Port: 1312
|
|
TLS:
|
|
Enabled: false
|
|
SkipVerify: false
|
|
DB:
|
|
Database: presences
|
|
Host: presences-db
|
|
Password: CHANGE_ME
|
|
Port: 5432
|
|
SSLMode: prefer
|
|
Username: presences
|
|
TLS:
|
|
Cert: /etc/presences/cert.pem
|
|
Key: /etc/presences/key.pem
|
|
UI:
|
|
Username: presences
|
|
Password: CHANGE_ME
|
|
Port: 8080
|
|
```
|
|
|
|
*Note: Remplacer les CHANGE_ME*
|
|
|
|
```sh
|
|
sudo cp config.yaml /var/lib/docker/volumes/presences_presences-config/_data/.
|
|
```
|
|
|
|
*Note: `config.yaml` doit exister localement*
|
|
|
|
##### TLS
|
|
|
|
L'application `bottin/presences` ne permet pas d'exposer son service en http, et requiert absolument une paire certificat/clé TLS pour démarrer.
|
|
|
|
Obtenir une paire certificat/clé TLS valide ou en générer une self-signed (par example avec l'utilitaire `openssl`), et l'ajouter au volume:
|
|
|
|
```sh
|
|
sudo cp {config.yaml,cert.pem,key.pem} /var/lib/docker/volumes/presences_presences-config/_data/.
|
|
```
|
|
|
|
*Note: `cert.pem` et `key.pem` doivent exister localement*
|
|
|
|
##### Démarrer les containers
|
|
|
|
```sh
|
|
docker compose up -d
|
|
```
|
|
##### Ajouter les données au bottin
|
|
|
|
TODO (voir https://git.agecem.com/bottin/bottin pour plus de détails)
|