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

1
.gitignore vendored
View File

@@ -102,3 +102,4 @@ logs/
# *.flac
# *.m4a
# *.ogg
*.sh

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

View File

@@ -0,0 +1,3 @@
pika==1.3.2
torch>=2.0.0
openai-whisper>=20231117

View File

@@ -1,11 +1,35 @@
FROM python:3.9-slim
# 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
# Establecer directorio de trabajo
WORKDIR /app
# Instalar dependencias
RUN apt-get update && apt-get install -y ffmpeg
RUN pip install pika pydub
# Instalar ffmpeg usando el gestor de paquetes de Red Hat (dnf)
RUN dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm && \
dnf install -y ffmpeg && \
dnf clean all
# Copiar archivos de la aplicación
COPY requirements.txt .
# Instalar dependencias de Python
# Las imágenes UBI de Python utilizan pip-install en lugar de pip directamente
RUN pip install --no-cache-dir -r requirements.txt
# 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"]

View File

@@ -0,0 +1,2 @@
pika==1.3.2
pydub==0.25.1

View File

@@ -1,10 +0,0 @@
FROM python:3.9-slim
WORKDIR /app
# Instalar dependencias
RUN pip install pika
COPY app.py .
CMD ["python", "app.py"]

1
unifier/requirements.txt Normal file
View File

@@ -0,0 +1 @@
pika==1.3.2