Files
Telereview/code/docker-compose.yaml
Quentin Roussel 0e8c27e200 modification du container interface admin
replacé apache par next start
2023-04-12 00:54:25 +02:00

132 lines
3.4 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
- ./db/dbdata:/var/lib/mysql
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_ROOT_HOST: '%'
MYSQL_DATABASE: telereview
#Interface d'aministration pour la bdd
phpmyadmin:
image: phpmyadmin:latest
restart: always
container_name: phpmyadmin
depends_on:
db:
condition: service_healthy
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
expose:
- 8080
ports:
- 8080:8080
environment:
- NODE_ENV=production
- DB_USER=root
- DB_PASSWORD=telereview
- DB_HOST=db
- DB_NAME=telereview
- PORT=8080
- ANALYZER_HOST=analyseur_texte
- ANALYZER_PORT=2000
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 admin
interface_admin:
build: ./interface_admin
ports:
- 800:3000
# image: httpd:latest
# volumes:
# - ./interface_admin/out:/usr/local/apache2/htdocs/
# container_name: interface_admin
# ports:
# - 800:80
#Formulaire de retour d'avis
formulaire:
image: httpd:latest
volumes:
- ./formulaire:/usr/local/apache2/htdocs/
container_name: formulaire
ports:
- 80:80
#Serveur d'analyse de texte
analyseur_texte:
build: ./analyseur_texte
container_name: analyseur_texte
environment:
- PORT=2000
ports:
- 2000:2000
restart: always
# #Backend de la borne : scripts pythons de reconnaissances 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_reconnaissance:
# build: ./backend_reconnaissance
# container_name: backend_reconnaissance
# restart: always
# devices:
# - /dev/video3:/dev/video0
# - /dev/snd:/dev/snd
# environment:
# - PORT=5000
# - HOST=backend_reconnaissance
# - API_HOST=reviews_api
# - API_PORT=8080
# - CAMERA_ID=0
# ports:
# #Ce container est le serveur websocker dont le client est l'interface de la borne qui tourne dans le navigateur
# - 5000:5000
video_loopback:
build: ./video_loopback
container_name: video_loopback
restart: always
devices:
- /dev/video0:/dev/video0
- /dev/video2:/dev/video1
- /dev/video3:/dev/video2