# Usar imagen base UBI9 de Python de Red Hat FROM registry.access.redhat.com/ubi9/python-39:latest # Usuario por defecto en las imágenes UBI es no-root (default) USER 0 WORKDIR /app # Instalar dependencias del sistema necesarias para PyTorch y Whisper RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && \ dnf install -y dnf-plugins-core && \ dnf config-manager --set-enabled crb && \ dnf install -y gcc-c++ make ffmpeg && \ dnf clean all # Copiar requirements.txt e instalar dependencias de Python COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt # Crear un script para descargar el modelo Whisper durante la construcción de la imagen 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 directorio compartido y configurar permisos adecuados para OpenShift RUN mkdir -p /app/shared && \ chmod -R 775 /app && \ chgrp -R 0 /app && \ chmod -R g=u /app # Volver al usuario predeterminado de la imagen UBI (no-root) USER default # Comando para iniciar la aplicación CMD ["python", "app.py"]