Refactor Dockerfiles to use UBI9 base image and update dependencies

This commit is contained in:
okd
2025-06-03 14:05:05 +02:00
parent b4e8a60ad3
commit 0fc20620dd
7 changed files with 59 additions and 21 deletions

View File

@@ -1,15 +1,21 @@
FROM python:3.9
# 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 básicas
RUN apt-get update && apt-get install -y ffmpeg
# 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
# 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
# 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
# Crear un script para descargar el modelo Whisper durante la construcción de la imagen
RUN echo '\
import whisper\n\
import torch\n\
@@ -24,6 +30,17 @@ print("Modelo descargado correctamente")\
# 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"]