queries | ||
ui | ||
.gitignore | ||
cmd.go | ||
compose.yaml | ||
config.go | ||
db.go | ||
Dockerfile | ||
entity.go | ||
flag.go | ||
go.mod | ||
go.sum | ||
handler.go | ||
LICENSE | ||
main.go | ||
Makefile | ||
README.md | ||
server.go |
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)