# Dockerfile # 1. Usar una imagen base oficial de Python FROM python:3.9 RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:$PATH" # 2. Establecer el directorio de trabajo dentro del contenedor WORKDIR /app # 3. Copiar el archivo de requerimientos al directorio de trabajo COPY --chown=user ./requirements.txt requirements.txt # 4. Instalar las dependencias de Python # --no-cache-dir reduce el tamaño de la imagen RUN pip install --no-cache-dir --upgrade -r requirements.txt # 5. Copiar todo el código de la aplicación al directorio de trabajo COPY --chown=user . /app # 6. Exponer el puerto en el que se ejecutará la aplicación # Hugging Face Spaces espera que la app se ejecute en el puerto 7860, pero con Docker se puede remapear. # Usaremos el 8000 que es el estándar de uvicorn. #EXPOSE 7860 # 7. Comando para ejecutar la aplicación cuando se inicie el contenedor # --host 0.0.0.0 es crucial para que sea accesible desde fuera del contenedor CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]