# Utiliser l'image Python 3.13 slim officielle comme base
FROM python:3.13-slim

# Installer les dépendances système nécessaires
RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        curl \
        build-essential \
    && rm -rf /var/lib/apt/lists/*

# Set the working directory
WORKDIR /app

# Copier les fichiers de configuration de Poetry
COPY requirements.txt .

# Installer les dépendances
RUN pip install -r requirements.txt

# Copier le code de l'application
COPY *.py .

# Exposer le port sur lequel Streamlit s'exécutera
EXPOSE 8051

# Définir l'entrypoint pour exécuter l'application
ENTRYPOINT ["streamlit", "run"]

# Définir la commande par défaut avec les options optimisées pour Streamlit
CMD ["main.py", \
     "--server.port=8051", \
     "--server.address=0.0.0.0", \
     "--server.headless=true", \
     "--server.enableCORS=false", \
     "--server.enableXsrfProtection=false", \
     "--server.maxUploadSize=1028", \
     "--browser.serverAddress=0.0.0.0", \
     "--browser.gatherUsageStats=false", \
     "--logger.level=error", \
     "--client.showErrorDetails=false"]