presences/README.md

2.4 KiB

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:

# .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.

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:

# 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

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:

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
docker compose up -d
Ajouter les données au bottin

TODO (voir https://git.agecem.com/bottin/bottin pour plus de détails)