Spaces:
Paused
Paused
| # 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"] |