mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 02:20:17 +01:00
84 lines
2.3 KiB
YAML
84 lines
2.3 KiB
YAML
version: "3.9"
|
|
services:
|
|
|
|
#Base de donnée mysql de la borne sur laquelle est stockée tous les avis et les stats
|
|
db:
|
|
image: mysql:latest
|
|
container_name: db
|
|
expose:
|
|
- 3306
|
|
volumes:
|
|
- ./db:/docker-entrypoint-initdb.d
|
|
restart: always
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin" ,"ping", "-h", "localhost", "-uroot"] # Command to check health.
|
|
interval: 5s # Interval between health checks.
|
|
timeout: 5s # Timeout for each health checking.
|
|
retries: 20 # Hou many times retries.
|
|
start_period: 10s # Estimated time to boot.
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: telereview
|
|
MYSQL_DATABASE: telereview
|
|
|
|
#Interface d'aministration pour la bdd
|
|
phpmyadmin:
|
|
image: phpmyadmin:latest
|
|
restart: always
|
|
container_name: phpmyadmin
|
|
depends_on:
|
|
- db
|
|
environment:
|
|
PMA_ARBITRARY: 1
|
|
PMA_HOST: db
|
|
PMA_USER: root
|
|
PMA_PASSWORD: telereview
|
|
ports:
|
|
- 8000:80
|
|
|
|
#API de gestion des avis, permet d'ajouter ou de récuperer des avis ou les stats sur les avis par des requêtes HTTP
|
|
reviews_api:
|
|
container_name: reviews_api
|
|
ports:
|
|
- 8080:8080
|
|
environment:
|
|
- NODE_ENV=production
|
|
- DB_USER=root
|
|
- DB_PASSWORD=telereview
|
|
- DB_HOST=db
|
|
- DB_NAME=telereview
|
|
- PORT=8080
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
build: ./reviews_api
|
|
restart: always
|
|
|
|
#Serveur web de l'interface de la borne
|
|
interface_borne:
|
|
image: httpd:latest
|
|
volumes:
|
|
- ./interface_borne:/usr/local/apache2/htdocs/
|
|
container_name: interface_borne
|
|
ports:
|
|
- 8888:80
|
|
|
|
#Serveur web de l'interface de la borne
|
|
interface_admin:
|
|
image: httpd:latest
|
|
volumes:
|
|
- ./interface_admin:/usr/local/apache2/htdocs/
|
|
container_name: interface_admin
|
|
ports:
|
|
- 80:80
|
|
|
|
#Backend de la borne : scripts pythons de reconaissances video et audio
|
|
#Envoient les infos a l'interface de la borne par websocket pour mettre a jour l'interface rapidement
|
|
#Met a jour les avis en faisant des requêtes a l'API
|
|
backend_reconaissance:
|
|
build: ./backend_reconaissance
|
|
container_name: backend_reconaissance
|
|
restart: always
|
|
ports:
|
|
#Ce container est le serveur websocker dont le client est l'interface de la borne qui tourne dans le navigateur
|
|
- 5000:5000
|
|
|