# Imagen base con soporte GPU FROM docker.io/nvidia/cuda:12.3.2-cudnn9-devel-ubuntu22.04@sha256:fb1ad20f2552f5b3aafb2c9c478ed57da95e2bb027d15218d7a55b3a0e4b4413 # Configuración No Interactiva ENV DEBIAN_FRONTEND=noninteractive ENV PYTHONUNBUFFERED=1 ENV TZ=Etc/UTC # --- PERSISTENCIA Y CACHÉS (LA SOLUCIÓN AL ERROR ACTUAL) --- # Redirigimos PIP, HuggingFace, Numba y Matplotlib a /data ENV PIP_CACHE_DIR="/data/pip_cache" ENV HF_HOME="/data/huggingface" ENV XDG_DATA_HOME="/data/xdg_data" ENV TORCH_HOME="/data/torch" # Aquí arreglamos el error de Numba/Librosa: ENV NUMBA_CACHE_DIR="/data/numba_cache" # Y prevenimos el futuro error de Matplotlib: ENV MPLCONFIGDIR="/data/matplotlib_config" # Instalar dependencias del sistema y herramientas de compilación RUN apt-get update && apt-get install -y --no-install-recommends \ python3.10 \ python3-pip \ python3-dev \ build-essential \ unzip git git-lfs ffmpeg cmake libgl1 \ libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev \ wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev \ libxmlsec1-dev libffi-dev liblzma-dev \ && rm -rf /var/lib/apt/lists/* # Alias de Python RUN ln -s /usr/bin/python3.10 /usr/bin/python # Crear TODAS las carpetas persistentes necesarias RUN mkdir -p /data/pip_cache /data/huggingface /data/xdg_data \ /data/torch /data/numba_cache /data/matplotlib_config \ /data/models/rvc_models /data/reference_audios WORKDIR /home/user/app # Copiar requirements y script de instalación COPY requirements.txt . COPY install_rvc.py . # Instalar dependencias Python RUN pip install --upgrade pip RUN pip install -r requirements.txt # Instalar RVC RUN python install_rvc.py # Copiar el resto del código COPY . . # AJUSTAR PERMISOS (CRÍTICO) # Damos control total de /data al usuario 1000 RUN chown -R 1000:1000 /home/user/app && \ chmod -R 777 /data && \ mkdir -p /usr/local/lib/python3.10/dist-packages/rvc_python && \ chmod -R 777 /usr/local/lib/python3.10/dist-packages/rvc_python USER 1000 EXPOSE 7860 CMD ["python", "app.py"]