restaurar imagen de ocker.io

This commit is contained in:
okd
2025-06-05 14:19:58 +00:00
parent b85f38d237
commit dcd36a3c01

View File

@@ -1,37 +1,29 @@
# Usar imagen base UBI9 de Python de Red Hat
FROM registry.access.redhat.com/ubi9/python-39:latest
FROM python:3.9
USER 0
WORKDIR /app
# Instalar EPEL.
# Luego, intentar instalar SDL2-devel (que debería traer SDL2 runtime)
# y después el resto de las dependencias y ffmpeg-free.
# Los repositorios UBI BaseOS, AppStream y CodeReadyBuilder están habilitados por defecto.
RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && \
dnf makecache && \
# Intentar instalar SDL2-devel. Esto debería traer SDL2 como dependencia.
# Si SDL2-devel no se encuentra, entonces el problema es más profundo con EPEL/UBI para SDL2.
dnf install -y SDL2-devel gcc-c++ make ffmpeg-free && \
dnf clean all && \
rm -rf /var/cache/dnf /var/log/dnf*
# Instalar dependencias básicas
RUN apt-get update && apt-get install -y ffmpeg
# Copiar archivos de la aplicación
COPY requirements.txt .
# Instalar torch con soporte CUDA y otras dependencias
RUN pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
RUN pip install pika openai-whisper
# Instalar dependencias de Python
RUN pip install --default-timeout=300 --no-cache-dir -r requirements.txt
# Crear un script para descargar el modelo
RUN echo '\
import whisper\n\
import torch\n\
print("Verificando disponibilidad de CUDA:", torch.cuda.is_available())\n\
if torch.cuda.is_available():\n\
print("Dispositivo CUDA:", torch.cuda.get_device_name(0))\n\
print("Descargando modelo Whisper base...")\n\
whisper.load_model("base")\n\
print("Modelo descargado correctamente")\
' > download_model.py
# Ejecutar el script para descargar el modelo durante la construcción
RUN python download_model.py
# Copiar código de la aplicación
COPY app.py .
# Crear directorios y establecer permisos
RUN mkdir -p /app/shared /app/output && \
chgrp -R 0 /app && \
chmod -R g+rwx /app
# Volver al usuario predeterminado
USER 1001
# Comando para iniciar la aplicación
CMD ["python", "app.py"]