32 lines
1.1 KiB
Docker
32 lines
1.1 KiB
Docker
# Partir d'une image Python 3.9 standard et légère
|
|
FROM python:3.9-slim-bookworm
|
|
|
|
# Définir le répertoire de travail dans le conteneur
|
|
WORKDIR /app
|
|
|
|
# **** AJOUT IMPORTANT : Installer les dépendances de compilation ****
|
|
# build-essential contient gcc, g++, make, etc.
|
|
# python3-dev contient les en-têtes nécessaires pour compiler des extensions Python.
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
python3-dev \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
# Copier tous les fichiers du projet (app.py, requirements.txt, conf/, etc.) dans le WORKDIR
|
|
COPY . /app/
|
|
|
|
# Installer les dépendances Python listées dans requirements.txt
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Télécharger et installer le modèle de langue français pour spaCy
|
|
RUN python -m spacy download fr_core_news_sm
|
|
|
|
# Définir la variable d'environnement pour que Presidio trouve notre fichier de configuration
|
|
ENV PRESIDIO_ANALYZER_CONFIG_FILE=/app/conf/default.yaml
|
|
|
|
# Exposer le port que Gunicorn va utiliser
|
|
EXPOSE 5001
|
|
|
|
# Commande finale pour lancer l'application avec Gunicorn
|
|
CMD ["gunicorn", "-w", "1", "-b", "0.0.0.0:5001", "app:app"]
|