Installation
Documentation d’installation de la PFI
La DevBox-Sante eProxy a besoin d’accéder à un service de base de données MongoDB et selon les besoins à Redis.
Docker Compose
Pour une installation de la Devbox-santé, il faut mettre en place 4 services :
- mongodb : persistance des données (traces)
- redis (optionel): gestions des sessions pour une scalabilité horizontale
- eproxy : serveur du Proxu eSanté
- back-office : outil d’administration et de visualisation des traces
Tout cela Au sein d’un meme réseau : eproxy-network protégé.
!theme aws-orange
actor "BO_administrateur" as bo_admin
component "LGC" as lgc
card "Docker eproxy-network" {
component "eproxy-back-office" as bo
database mongodb as db
component "eproxy-server" as eProxy
component "redis" as redis
}
lgc -r-> eProxy : https
eProxy -d-> db
bo -l-> db
eProxy -> redis : session (option)
bo_admin -u-> bo : https
Un bon point de départ est ce fichier docker-compose.yml :
name: devboxsante-eproxy
networks:
eproxy-network:
name: eproxy-network
x-common-env: &common-env
MONGO_DB_URI: mongodb://mongodb:27017/eProxy
DEVBOX_EPROXY_KEYSTORE_PASSWORD: changeIt
REDIS_HOST: redis
x-logging: &default-logging
driver: "json-file"
options:
max-size: "20m"
max-file: "10"
services:
# =========================
# Redis
# =========================
redis:
image: redis:8
container_name: eproxy-redis
restart: on-failure:5
networks:
- eproxy-network
logging: *default-logging
# =========================
# MongoDB
# =========================
mongodb:
image: mongo:8
container_name: eproxy-mongodb
restart: on-failure:5
networks:
- eproxy-network
volumes:
- ${DEVBOX_VOLUME_ROOT}/dbx/eproxy/mongo/data:/data/db:rw
logging: *default-logging
# =========================
# eproxy-backoffice
# =========================
eproxy-bo:
image: devboxsante/devboxsante-eproxy-backoffice:${DBX_VERSION:-dev}
container_name: eproxy-bo
depends_on:
- mongodb
- redis
ports:
- "8282:8282"
environment:
<<: *common-env
DEVBOX_EPROXY_BO_ADMIN_PASSWORD: ${DEVBOX_EPROXY_BO_ADMIN_PASSWORD:-admin}
SERVER_PORT: 8282
SPRING_PROFILES_ACTIVE: SWAGGER,redis
DEVBOX_EPROXY_BO_OTP_REQUIRED: true
logging: *default-logging
restart: on-failure:5
volumes:
- ${DEVBOX_VOLUME_ROOT:-}/dbx/eproxy/back-office/config:/config:rw
- ${DEVBOX_VOLUME_ROOT:-}/dbx/eproxy/shared:/shared:rw
- ${DEVBOX_VOLUME_ROOT:-}/dbx/eproxy/back-office/logs:/logs:rw
networks:
- eproxy-network
# =========================
# eproxy
# =========================
eproxy:
image: devboxsante/devboxsante-eproxy:${DBX_VERSION:-dev}
container_name: eproxy
depends_on:
- mongodb
- redis
ports:
- "8080:8080"
environment:
<<: *common-env
DEVBOX_LM_ENV: ${DEVBOX_LM_ENV:-dev}
DEVBOX_LM_CLIENT: ${DEVBOX_LM_CLIENT}
DEVBOX_LM_TOKEN: ${DEVBOX_LM_TOKEN}
DEVBOX_JWT_SECRET: changeIt________________________________________________________
SPRING_PROFILES_ACTIVE: lm, psc-bas,edc-bas,redis,SWAGGER
SERVER_PORT: 8080
logging: *default-logging
restart: on-failure:5
volumes:
- ${DEVBOX_VOLUME_ROOT:-}/dbx/eproxy/server/config:/config:rw
- ${DEVBOX_VOLUME_ROOT:-}/dbx/eproxy/shared:/shared:rw
- ${DEVBOX_VOLUME_ROOT:-}/dbx/eproxy/server/logs:/logs:rw
networks:
- eproxy-network
Bien sûr, il faudra veiller à le personnaliser et le configurer en fonction du besoin.