| # Usa una imagen base de Python ligera | |
| FROM python:3.11-slim | |
| # Instala dependencias del sistema necesarias para Graphviz y otras herramientas | |
| RUN apt-get update && apt-get install -y \ | |
| git \ | |
| gcc \ | |
| graphviz \ | |
| build-essential \ | |
| pkg-config \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Crea un usuario no root para mayor seguridad | |
| RUN useradd -m -u 1000 user | |
| USER user | |
| # Establece el directorio de trabajo | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| WORKDIR $HOME/app | |
| # Copia tu aplicaci贸n Gradio y el archivo requirements.txt al contenedor | |
| COPY --chown=user:user . . | |
| # Instala las dependencias de Python | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Descarga el modelo de SpaCy (esto se ejecuta solo una vez durante la construcci贸n de la imagen) | |
| RUN python -m spacy download es_dep_news_trf | |
| # Exp贸n el puerto que Gradio usa por defecto | |
| EXPOSE 7860 | |
| # Define el comando para ejecutar tu aplicaci贸n Gradio | |
| ENTRYPOINT ["python", "app.py"] |