diff --git a/.gitignore b/.gitignore index 4235c12..cca3cf2 100644 --- a/.gitignore +++ b/.gitignore @@ -102,3 +102,4 @@ logs/ # *.flac # *.m4a # *.ogg +*.sh \ No newline at end of file diff --git a/processor/Dockerfile b/processor/Dockerfile index 61d59ca..e2c3f33 100644 --- a/processor/Dockerfile +++ b/processor/Dockerfile @@ -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"] \ No newline at end of file diff --git a/processor/requirements.txt b/processor/requirements.txt new file mode 100644 index 0000000..feb687d --- /dev/null +++ b/processor/requirements.txt @@ -0,0 +1,3 @@ +pika==1.3.2 +torch>=2.0.0 +openai-whisper>=20231117 diff --git a/splitter/Dockerfile b/splitter/Dockerfile index 9565ba9..a089a98 100644 --- a/splitter/Dockerfile +++ b/splitter/Dockerfile @@ -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"] \ No newline at end of file diff --git a/splitter/requirements.txt b/splitter/requirements.txt new file mode 100644 index 0000000..9308798 --- /dev/null +++ b/splitter/requirements.txt @@ -0,0 +1,2 @@ +pika==1.3.2 +pydub==0.25.1 diff --git a/unifier/Dockerfile b/unifier/Dockerfile deleted file mode 100644 index 54c0799..0000000 --- a/unifier/Dockerfile +++ /dev/null @@ -1,10 +0,0 @@ -FROM python:3.9-slim - -WORKDIR /app - -# Instalar dependencias -RUN pip install pika - -COPY app.py . - -CMD ["python", "app.py"] \ No newline at end of file diff --git a/unifier/requirements.txt b/unifier/requirements.txt new file mode 100644 index 0000000..327c28c --- /dev/null +++ b/unifier/requirements.txt @@ -0,0 +1 @@ +pika==1.3.2