gpt-tts-ui / Dockerfile
hoonsubin's picture
optimize pip install
18db1d7
FROM python:3.10-slim
WORKDIR /app
# Environment variables for CPU-only operation
ENV CUDA_VISIBLE_DEVICES=-1 \
TF_CPP_MIN_LOG_LEVEL=3 \
SDL_AUDIODRIVER=disk \
VLLM_TARGET_DEVICE=cpu
# Install system dependencies (probably more than needed)
RUN apt-get update && apt-get install -y \
build-essential \
libportaudio2 \
libportaudiocpp0 \
portaudio19-dev \
libasound-dev \
libsndfile1-dev \
kmod \
libomp5 \
libssl3 \
ca-certificates \
openssl \
libopenblas0-pthread \
libgl1 \
libglib2.0-0 \
libnuma-dev \
gcc-12 \
g++-12 \
espeak-ng \
libaio-dev \
git \
ffmpeg \
curl \
&& rm -rf /var/lib/apt/lists/*
# Install Rust compiler
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
sh -s -- -y --default-toolchain stable --profile minimal && \
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> /etc/profile.d/rust.sh
ENV PATH="/root/.cargo/bin:${PATH}"
# Verify installation
RUN rustc --version && cargo --version
# Update pip and install base requirements
RUN pip install --upgrade pip setuptools wheel && \
pip install numpy \
"cmake>=3.26" \
packaging \
ninja \
"setuptools-scm>=8" --no-cache-dir
# Install Base PyTorch System - For CPU-only
RUN pip install \
torch \
torchvision \
torchaudio \
torchdatasets \
torchtext \
datasets \
transformers \
--extra-index-url https://download.pytorch.org/whl/cpu --no-cache-dir
# Install vLLM CPU version from source
RUN git clone https://github.com/vllm-project/vllm.git \
&& cd vllm \
&& pip install -v -r requirements-cpu.txt --extra-index-url https://download.pytorch.org/whl/cpu \
&& python setup.py install \
&& pip install --no-cache-dir -e . \
&& cd .. \
&& rm -rf vllm
# Fix networkx compatibility
RUN pip install --force-reinstall --no-cache-dir networkx==3.2.1
# Install Python requirements with CPU-only constraints
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt --no-deps
# Install unidic for processing Japanese texts
RUN python -m unidic download
# Copy application files
COPY . .
EXPOSE 7860
CMD ["python", "app.py"]