No description
Find a file
2025-02-27 14:17:00 -05:00
queries Initial commit 2025-02-27 14:13:21 -05:00
ui Initial commit 2025-02-27 14:13:21 -05:00
.gitignore Initial commit 2025-02-27 14:13:21 -05:00
cmd.go Initial commit 2025-02-27 14:13:21 -05:00
compose.yaml Initial commit 2025-02-27 14:13:21 -05:00
config.go Initial commit 2025-02-27 14:13:21 -05:00
db.go Initial commit 2025-02-27 14:13:21 -05:00
Dockerfile Initial commit 2025-02-27 14:13:21 -05:00
entity.go Initial commit 2025-02-27 14:13:21 -05:00
flag.go Initial commit 2025-02-27 14:13:21 -05:00
go.mod Initial commit 2025-02-27 14:13:21 -05:00
go.sum Initial commit 2025-02-27 14:13:21 -05:00
handler.go Initial commit 2025-02-27 14:13:21 -05:00
LICENSE Initial commit 2025-02-27 14:13:21 -05:00
main.go Initial commit 2025-02-27 14:13:21 -05:00
Makefile Ajouter Makefile 2025-02-27 14:16:39 -05:00
README.md Initial commit 2025-02-27 14:13:21 -05:00
server.go Initial commit 2025-02-27 14:13:21 -05:00

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)