# 1. Base Image: Ubuntu 22.04 FROM ubuntu:22.04 # Thiết lập biến môi trường ENV PIP_NO_CACHE_DIR=1 ENV DEBIAN_FRONTEND=noninteractive WORKDIR /app # 2. Cài đặt Python 3.10 + pip và các gói hệ thống RUN apt-get update && \ apt-get install -y --no-install-recommends \ python3.10 \ python3.10-dev \ python3-pip \ espeak-ng \ libespeak-ng1 \ ffmpeg \ git \ build-essential \ cmake \ libgl1 \ libsm6 \ libxext6 \ libopenblas-dev \ pkg-config \ && apt-get clean && \ rm -rf /var/lib/apt/lists/* # Tạo symlink để python = python3 RUN ln -sf /usr/bin/python3.10 /usr/bin/python # 3. Cấu hình User RUN useradd -m -u 1000 user USER user ENV PATH="/home/user/.local/bin:$PATH" WORKDIR /app # 4. Upgrade pip RUN python -m pip install --no-cache-dir --upgrade pip # 5. Cài đặt llama-cpp-python trước (để tự resolve numpy) RUN pip install --no-cache-dir \ llama-cpp-python==0.3.2 # 6. Cài đặt các thư viện Python khác RUN pip install --no-cache-dir \ "gradio>=5.49.1" \ "librosa==0.11.0" \ "neucodec>=0.0.4" \ "phonemizer==3.3.0" \ "soundfile==0.13.1" \ "onnxruntime" # 7. Sao chép mã nguồn COPY --chown=user:user . /app # 8. Expose port EXPOSE 7860 # 9. Khởi chạy CMD ["python", "app.py"]