mirror of
https://git.roussel.pro/telecom-paris/pact.git
synced 2026-02-09 10:30:17 +01:00
container docker pour le backend python pret
This commit is contained in:
27
code/backend/.dockerignore
Normal file
27
code/backend/.dockerignore
Normal file
@@ -0,0 +1,27 @@
|
||||
**/__pycache__
|
||||
**/.venv
|
||||
**/.classpath
|
||||
**/.dockerignore
|
||||
**/.env
|
||||
**/.git
|
||||
**/.gitignore
|
||||
**/.project
|
||||
**/.settings
|
||||
**/.toolstarget
|
||||
**/.vs
|
||||
**/.vscode
|
||||
**/*.*proj.user
|
||||
**/*.dbmdl
|
||||
**/*.jfm
|
||||
**/bin
|
||||
**/charts
|
||||
**/docker-compose*
|
||||
**/compose*
|
||||
**/Dockerfile*
|
||||
**/node_modules
|
||||
**/npm-debug.log
|
||||
**/obj
|
||||
**/secrets.dev.yaml
|
||||
**/values.dev.yaml
|
||||
LICENSE
|
||||
README.md
|
||||
18
code/backend/Dockerfile
Normal file
18
code/backend/Dockerfile
Normal file
@@ -0,0 +1,18 @@
|
||||
# For more information, please refer to https://aka.ms/vscode-docker-python
|
||||
FROM python:3.8-slim
|
||||
|
||||
# Keeps Python from generating .pyc files in the container
|
||||
ENV PYTHONDONTWRITEBYTECODE=1
|
||||
|
||||
# Turns off buffering for easier container logging
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
# Install pip requirements
|
||||
COPY requirements.txt .
|
||||
RUN python -m pip install -r requirements.txt
|
||||
|
||||
WORKDIR /app
|
||||
COPY . /app
|
||||
|
||||
# During debugging, this entry point will be overridden. For more information, please refer to https://aka.ms/vscode-docker-python-debug
|
||||
CMD ["python", "main.py"]
|
||||
@@ -1,11 +1,10 @@
|
||||
import asyncio
|
||||
import json
|
||||
import websockets
|
||||
import numpy as np
|
||||
import random
|
||||
|
||||
class WebsocketServer:
|
||||
def __init__(self,getEffects,port=5000,host="localhost") -> None:
|
||||
def __init__(self,getEffects,port=5000,host="backend") -> None:
|
||||
self.host = host
|
||||
self.port = port
|
||||
self.getEffects = getEffects
|
||||
1
code/backend/requirements.txt
Normal file
1
code/backend/requirements.txt
Normal file
@@ -0,0 +1 @@
|
||||
websockets
|
||||
@@ -1,5 +1,7 @@
|
||||
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
|
||||
@@ -17,7 +19,8 @@ services:
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: telereview
|
||||
MYSQL_DATABASE: telereview
|
||||
|
||||
|
||||
#Interface d'aministration pour la bdd
|
||||
phpmyadmin:
|
||||
image: phpmyadmin:latest
|
||||
restart: always
|
||||
@@ -31,7 +34,8 @@ services:
|
||||
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:
|
||||
@@ -48,12 +52,24 @@ services:
|
||||
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:
|
||||
- 80:80
|
||||
- 8888: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:
|
||||
build: ./backend
|
||||
container_name: backend
|
||||
restart: always
|
||||
ports:
|
||||
#Ce container est le serveur websocker et le client est l'interface de la borne qui tourne dans le navigateur
|
||||
- 5000:5000
|
||||
|
||||
@@ -3,4 +3,5 @@ let client
|
||||
window.addEventListener("load", () => {
|
||||
cameraEditor = new CameraEditor(document.getElementById("canvas"));
|
||||
client = new WebsocketClient((effects) => { cameraEditor.setEffects(effects); });
|
||||
cameraEditor._frame();
|
||||
}, false);
|
||||
|
||||
@@ -3,7 +3,6 @@ WORKDIR /usr/src/app
|
||||
COPY ["package.json", "package-lock.json*", "npm-shrinkwrap.json*", "./"]
|
||||
RUN npm install --production --silent && mv node_modules ../
|
||||
COPY . .
|
||||
EXPOSE 8080
|
||||
RUN chown -R node /usr/src/app
|
||||
USER node
|
||||
CMD ["node", "index.js"]
|
||||
|
||||
Reference in New Issue
Block a user