mirror of
https://github.com/RVC-Boss/GPT-SoVITS.git
synced 2025-08-20 18:19:48 +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
|
||||
FROM cnstark/pytorch:2.0.1-py3.9.17-cuda11.8.0-ubuntu20.04
|
||||
# # Base CUDA image
|
||||
# FROM cnstark/pytorch:2.0.1-py3.9.17-cuda11.8.0-ubuntu20.04
|
||||
|
||||
LABEL maintainer="breakstring@hotmail.com"
|
||||
LABEL version="dev-20240209"
|
||||
LABEL description="Docker image for GPT-SoVITS"
|
||||
# LABEL maintainer="breakstring@hotmail.com"
|
||||
# LABEL version="dev-20240209"
|
||||
# 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 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/*
|
||||
ENV PATH="/usr/local/bin:${PATH}"
|
||||
|
||||
# Copy only requirements.txt initially to leverage Docker cache
|
||||
WORKDIR /workspace
|
||||
COPY requirements.txt /workspace/
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
# Install basic dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
git \
|
||||
wget \
|
||||
curl \
|
||||
cmake \
|
||||
ffmpeg \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Define a build-time argument for image type
|
||||
ARG IMAGE_TYPE=full
|
||||
# Install Miniconda
|
||||
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
|
||||
# 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
|
||||
# Add conda to PATH
|
||||
ENV PATH="/opt/conda/bin:${PATH}"
|
||||
|
||||
# Copy the current directory contents (GPT-SoVITS) into the container
|
||||
COPY . .
|
||||
|
||||
# Copy the rest of the application
|
||||
COPY . /workspace
|
||||
# Install Conda dependencies
|
||||
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"]
|
||||
|
Loading…
x
Reference in New Issue
Block a user