Geodechets / Dockerfile
nath13huggingface's picture
src model_path
ffa1e68
Raw
History Blame Contribute Delete
1.49 kB
# FROM python:3.13.5-slim
# WORKDIR /app
# RUN apt-get update && apt-get install -y \
# build-essential \
# curl \
# git \
# && rm -rf /var/lib/apt/lists/*
# COPY requirements.txt ./
# COPY src/ ./src/
# RUN pip3 install -r requirements.txt
# EXPOSE 8501
# HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
# ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
# 1. Utilise une image Python légère et récente
FROM python:3.13.5-slim
WORKDIR /app
# 2. Installe uniquement les dépendances système nécessaires
# et nettoie immédiatement après
RUN apt-get update && \
apt-get install -y --no-install-recommends \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
# 3. Copie uniquement requirements.txt et installe les dépendances Python
# en évitant le cache pip
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt && \
rm -f requirements.txt
# 4. Copie le reste du code
COPY src/ ./src/
# 5. Nettoie les caches Python inutiles
RUN find /app -type d -name __pycache__ -exec rm -r {} + && \
find /app -type f -name "*.pyc" -delete
# 6. Expose le port
EXPOSE 8501
# 7. Healthcheck
HEALTHCHECK --interval=30s --timeout=3s \
CMD curl --fail http://localhost:8501/_stcore/health || exit 1
# 8. Lance l'application
ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", \
"--server.port=8501", "--server.address=0.0.0.0"]