FROM python:3.10-slim

ENV GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1 \
    GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1

RUN apt-get update && apt-get install -y \
    git gcc build-essential python3-dev libssl-dev \
    curl unzip ffmpeg libsox-fmt-mp3 sox libogg0 libopus0 opus-tools \
 && rm -rf /var/lib/apt/lists/* \
 && curl https://sh.rustup.rs -sSf | sh -s -- -y \
    && export PATH="$PATH:/root/.cargo/bin"

# Install Python packages (ensure Rust is in path)

RUN pip install --upgrade pip setuptools wheel \
 && pip install "grpcio>=1.56.2"

# Then install everything else, including suno-utils
RUN pip install \
  torch==2.5.1 \
  boto3 tokenizers encodec ctc_segmentation psutil redis pydantic nnAudio

# Install Python packages (ensure Rust is in path)
ENV PATH="/root/.cargo/bin:${PATH}"

# suno-utils (private)
RUN pip install "git+https://mcamac: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@github.com/suno-ai/glockenspiel.git#subdirectory=suno_utils"
