# 1. Usar imagen oficial de Python ligera FROM python:3.10-slim # 2. Instalar dependencias del sistema (ImageMagick, ffmpeg y fuentes) RUN apt-get update && apt-get install -y \ imagemagick \ ffmpeg \ fonts-liberation \ && rm -rf /var/lib/apt/lists/* # Parche fuerte: vaciar la policy de ImageMagick (permite todo) RUN rm -f /etc/ImageMagick-6/policy.xml /etc/ImageMagick-7/policy.xml || true # 4. Configurar el directorio de trabajo WORKDIR /app COPY . /app # Registrar la fuente Montserrat en el sistema RUN mkdir -p /usr/share/fonts/truetype/montserrat \ && cp /app/Montserrat-Bold.ttf /usr/share/fonts/truetype/montserrat/ \ && fc-cache -f -v # 5. Instalar dependencias de Python RUN pip install --no-cache-dir -r requirements.txt # 6. Dar permisos totales para que el script pueda crear f.mp4, out.mp4, etc. RUN chmod -R 777 /app # 7. Exponer puerto de Hugging Face y arrancar EXPOSE 7860 CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]