diff --git a/Dockerfile b/Dockerfile index 7659081..32fd24c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,22 @@ -# Dockerfile -FROM nginx:alpine +# Dockerfile pour l'application Cyberusgate POC -# Copier tous les fichiers statiques de la racine vers le dossier Nginx -COPY . /usr/share/nginx/html +# Étape 1: Utiliser une image Python officielle comme base +FROM python:3.9-slim -EXPOSE 80 \ No newline at end of file +# Étape 2: Définir le répertoire de travail dans le conteneur +WORKDIR /app + +# Étape 3: Copier le fichier des dépendances et les installer +# Copier uniquement requirements.txt d'abord pour profiter du cache Docker +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt + +# Étape 4: Copier le reste du code de l'application +COPY . . + +# Étape 5: Exposer le port sur lequel l'application tourne +EXPOSE 8000 + +# Étape 6: Définir la commande pour lancer l'application +# On utilise --host 0.0.0.0 pour rendre le serveur accessible depuis l'extérieur du conteneur. +CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"] diff --git a/docker-compose.yml b/docker-compose.yml index ca9a2b8..b95b023 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,12 +1,14 @@ services: - cyberusgate-web: + cyberusgate-app: build: . - container_name: cyberusgate_web + container_name: cyberusgate_poc restart: unless-stopped ports: - - "8080:80" + - "8000:8000" volumes: - - .:/usr/share/nginx/html:ro + - .:/app + environment: + - PYTHONUNBUFFERED=1 networks: - cyberusgate-network