Files
transcripcion-whisper/processor/Dockerfile

46 lines
1.4 KiB
Docker

# 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 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"]