mirror of
https://github.com/RVC-Boss/GPT-SoVITS.git
synced 2025-08-20 10:18:32 +08:00
add new dockerfile
This commit is contained in:
parent
bf993dff2b
commit
9450cd951d
107
Dockerfile
107
Dockerfile
@ -1,41 +1,90 @@
|
|||||||
# Base CUDA image
|
# # Base CUDA image
|
||||||
FROM cnstark/pytorch:2.0.1-py3.9.17-cuda11.8.0-ubuntu20.04
|
# FROM cnstark/pytorch:2.0.1-py3.9.17-cuda11.8.0-ubuntu20.04
|
||||||
|
|
||||||
LABEL maintainer="breakstring@hotmail.com"
|
# LABEL maintainer="breakstring@hotmail.com"
|
||||||
LABEL version="dev-20240209"
|
# LABEL version="dev-20240209"
|
||||||
LABEL description="Docker image for GPT-SoVITS"
|
# LABEL description="Docker image for GPT-SoVITS"
|
||||||
|
|
||||||
|
|
||||||
# Install 3rd party apps
|
# # Install 3rd party apps
|
||||||
|
# ENV DEBIAN_FRONTEND=noninteractive
|
||||||
|
# ENV TZ=Etc/UTC
|
||||||
|
# RUN apt-get update && \
|
||||||
|
# apt-get install -y --no-install-recommends tzdata ffmpeg libsox-dev parallel aria2 git git-lfs && \
|
||||||
|
# git lfs install && \
|
||||||
|
# rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# # Copy only requirements.txt initially to leverage Docker cache
|
||||||
|
# WORKDIR /workspace
|
||||||
|
# COPY requirements.txt /workspace/
|
||||||
|
# RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
# # Define a build-time argument for image type
|
||||||
|
# ARG IMAGE_TYPE=full
|
||||||
|
|
||||||
|
# # Conditional logic based on the IMAGE_TYPE argument
|
||||||
|
# # Always copy the Docker directory, but only use it if IMAGE_TYPE is not "elite"
|
||||||
|
# COPY ./Docker /workspace/Docker
|
||||||
|
# # elite 类型的镜像里面不包含额外的模型
|
||||||
|
# RUN if [ "$IMAGE_TYPE" != "elite" ]; then \
|
||||||
|
# chmod +x /workspace/Docker/download.sh && \
|
||||||
|
# /workspace/Docker/download.sh && \
|
||||||
|
# python -m nltk.downloader averaged_perceptron_tagger cmudict; \
|
||||||
|
# fi
|
||||||
|
|
||||||
|
|
||||||
|
# # Copy the rest of the application
|
||||||
|
# COPY . /workspace
|
||||||
|
|
||||||
|
# EXPOSE 9871 9872 9873 9874 9880
|
||||||
|
|
||||||
|
# CMD ["python", "webui.py"]
|
||||||
|
|
||||||
|
# Use official Ubuntu 22.04 as base image
|
||||||
|
FROM ubuntu:22.04
|
||||||
|
|
||||||
|
# Set working directory
|
||||||
|
WORKDIR /app/GPT-SoVITS
|
||||||
|
|
||||||
|
# Set environment variables
|
||||||
ENV DEBIAN_FRONTEND=noninteractive
|
ENV DEBIAN_FRONTEND=noninteractive
|
||||||
ENV TZ=Etc/UTC
|
ENV PATH="/usr/local/bin:${PATH}"
|
||||||
RUN apt-get update && \
|
|
||||||
apt-get install -y --no-install-recommends tzdata ffmpeg libsox-dev parallel aria2 git git-lfs && \
|
|
||||||
git lfs install && \
|
|
||||||
rm -rf /var/lib/apt/lists/*
|
|
||||||
|
|
||||||
# Copy only requirements.txt initially to leverage Docker cache
|
# Install basic dependencies
|
||||||
WORKDIR /workspace
|
RUN apt-get update && apt-get install -y \
|
||||||
COPY requirements.txt /workspace/
|
git \
|
||||||
RUN pip install --no-cache-dir -r requirements.txt
|
wget \
|
||||||
|
curl \
|
||||||
|
cmake \
|
||||||
|
ffmpeg \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Define a build-time argument for image type
|
# Install Miniconda
|
||||||
ARG IMAGE_TYPE=full
|
RUN wget https://repo.anaconda.com/miniconda/Miniconda3-py39_23.11.0-2-Linux-x86_64.sh -O miniconda.sh \
|
||||||
|
&& bash miniconda.sh -b -p /opt/conda \
|
||||||
|
&& rm miniconda.sh
|
||||||
|
|
||||||
# Conditional logic based on the IMAGE_TYPE argument
|
# Add conda to PATH
|
||||||
# Always copy the Docker directory, but only use it if IMAGE_TYPE is not "elite"
|
ENV PATH="/opt/conda/bin:${PATH}"
|
||||||
COPY ./Docker /workspace/Docker
|
|
||||||
# elite 类型的镜像里面不包含额外的模型
|
|
||||||
RUN if [ "$IMAGE_TYPE" != "elite" ]; then \
|
|
||||||
chmod +x /workspace/Docker/download.sh && \
|
|
||||||
/workspace/Docker/download.sh && \
|
|
||||||
python -m nltk.downloader averaged_perceptron_tagger cmudict; \
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
# Copy the current directory contents (GPT-SoVITS) into the container
|
||||||
|
COPY . .
|
||||||
|
|
||||||
# Copy the rest of the application
|
# Install Conda dependencies
|
||||||
COPY . /workspace
|
RUN conda install -y -q -c pytorch -c nvidia cudatoolkit \
|
||||||
|
&& conda install -y -q -c conda-forge gcc gxx ffmpeg cmake -c pytorch -c nvidia
|
||||||
|
|
||||||
EXPOSE 9871 9872 9873 9874 9880
|
# Install Python requirements
|
||||||
|
RUN pip install -r requirements.txt
|
||||||
|
|
||||||
|
# Install additional Python packages
|
||||||
|
RUN pip install ipykernel
|
||||||
|
|
||||||
|
# Modify config.py to enable WebUI
|
||||||
|
RUN sed -i '10s/False/True/' config.py
|
||||||
|
|
||||||
|
# Expose port for WebUI
|
||||||
|
EXPOSE 5000
|
||||||
|
|
||||||
|
# Set entrypoint to launch WebUI
|
||||||
CMD ["python", "webui.py"]
|
CMD ["python", "webui.py"]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user