mirror of https://github.com/coqui-ai/TTS.git
Introducing Development Dockerfile (#3263)
* Moved Dockerfile, COPY at the end This change should prevent re-installation of the dependencies upon every change of the repository's contents. Typically if Docker detects that something changed in a layer, all downstream layers are invalidated and rebuilt. * Moved Dockerfile back to main directory Main dockerfile in a separate directory can cause issues with the current CI/CD setup. This can be a good change for later. * Introduced Dockerfile.dev, updated CONTRIBUTING Dockerfile.dev can be used as a separate development environment for anyone that does not wish to install the dependencies locally.
This commit is contained in:
parent
4d0f53d2ee
commit
1bf5926196
|
@ -128,6 +128,32 @@ The following steps are tested on an Ubuntu system.
|
||||||
|
|
||||||
14. Once things look perfect, We merge it to the ```dev``` branch and make it ready for the next version.
|
14. Once things look perfect, We merge it to the ```dev``` branch and make it ready for the next version.
|
||||||
|
|
||||||
|
## Development in Docker container
|
||||||
|
|
||||||
|
If you prefer working within a Docker container as your development environment, you can do the following:
|
||||||
|
|
||||||
|
1. Fork 🐸TTS[https://github.com/coqui-ai/TTS] by clicking the fork button at the top right corner of the project page.
|
||||||
|
|
||||||
|
2. Clone 🐸TTS and add the main repo as a new remote named ```upsteam```.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ git clone git@github.com:<your Github name>/TTS.git
|
||||||
|
$ cd TTS
|
||||||
|
$ git remote add upstream https://github.com/coqui-ai/TTS.git
|
||||||
|
```
|
||||||
|
|
||||||
|
3. Build the Docker Image as your development environment (it installs all of the dependencies for you):
|
||||||
|
|
||||||
|
```
|
||||||
|
docker build --tag=tts-dev:latest -f .\dockerfiles\Dockerfile.dev .
|
||||||
|
```
|
||||||
|
|
||||||
|
4. Run the container with GPU support:
|
||||||
|
|
||||||
|
```
|
||||||
|
docker run -it --gpus all tts-dev:latest /bin/bash
|
||||||
|
```
|
||||||
|
|
||||||
Feel free to ping us at any step you need help using our communication channels.
|
Feel free to ping us at any step you need help using our communication channels.
|
||||||
|
|
||||||
If you are new to Github or open-source contribution, These are good resources.
|
If you are new to Github or open-source contribution, These are good resources.
|
||||||
|
|
10
Dockerfile
10
Dockerfile
|
@ -1,13 +1,19 @@
|
||||||
ARG BASE=nvidia/cuda:11.8.0-base-ubuntu22.04
|
ARG BASE=nvidia/cuda:11.8.0-base-ubuntu22.04
|
||||||
FROM ${BASE}
|
FROM ${BASE}
|
||||||
|
|
||||||
RUN apt-get update && apt-get upgrade -y
|
RUN apt-get update && apt-get upgrade -y
|
||||||
RUN apt-get install -y --no-install-recommends gcc g++ make python3 python3-dev python3-pip python3-venv python3-wheel espeak-ng libsndfile1-dev && rm -rf /var/lib/apt/lists/*
|
RUN apt-get install -y --no-install-recommends gcc g++ make python3 python3-dev python3-pip python3-venv python3-wheel espeak-ng libsndfile1-dev && rm -rf /var/lib/apt/lists/*
|
||||||
RUN pip3 install llvmlite --ignore-installed
|
RUN pip3 install llvmlite --ignore-installed
|
||||||
|
|
||||||
WORKDIR /root
|
# Install Dependencies:
|
||||||
COPY . /root
|
|
||||||
RUN pip3 install torch torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
|
RUN pip3 install torch torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
|
||||||
RUN rm -rf /root/.cache/pip
|
RUN rm -rf /root/.cache/pip
|
||||||
|
|
||||||
|
# Copy TTS repository contents:
|
||||||
|
WORKDIR /root
|
||||||
|
COPY . /root
|
||||||
|
|
||||||
RUN make install
|
RUN make install
|
||||||
|
|
||||||
ENTRYPOINT ["tts"]
|
ENTRYPOINT ["tts"]
|
||||||
CMD ["--help"]
|
CMD ["--help"]
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
ARG BASE=nvidia/cuda:11.8.0-base-ubuntu22.04
|
||||||
|
FROM ${BASE}
|
||||||
|
|
||||||
|
# Install OS dependencies:
|
||||||
|
RUN apt-get update && apt-get upgrade -y
|
||||||
|
RUN apt-get install -y --no-install-recommends \
|
||||||
|
gcc g++ \
|
||||||
|
make \
|
||||||
|
python3 python3-dev python3-pip python3-venv python3-wheel \
|
||||||
|
espeak-ng libsndfile1-dev \
|
||||||
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
|
# Install Major Python Dependencies:
|
||||||
|
RUN pip3 install llvmlite --ignore-installed
|
||||||
|
RUN pip3 install torch torchaudio --extra-index-url https://download.pytorch.org/whl/cu118
|
||||||
|
RUN rm -rf /root/.cache/pip
|
||||||
|
|
||||||
|
WORKDIR /root
|
||||||
|
|
||||||
|
# Copy Dependency Lock Files:
|
||||||
|
COPY \
|
||||||
|
Makefile \
|
||||||
|
pyproject.toml \
|
||||||
|
setup.py \
|
||||||
|
requirements.dev.txt \
|
||||||
|
requirements.ja.txt \
|
||||||
|
requirements.notebooks.txt \
|
||||||
|
requirements.txt \
|
||||||
|
/root/
|
||||||
|
|
||||||
|
# Install Project Dependencies
|
||||||
|
# Separate stage to limit re-downloading:
|
||||||
|
RUN pip install \
|
||||||
|
-r requirements.txt \
|
||||||
|
-r requirements.dev.txt \
|
||||||
|
-r requirements.ja.txt \
|
||||||
|
-r requirements.notebooks.txt
|
||||||
|
|
||||||
|
# Copy TTS repository contents:
|
||||||
|
COPY . /root
|
||||||
|
|
||||||
|
# Installing the TTS package itself:
|
||||||
|
RUN make install
|
||||||
|
|
Loading…
Reference in New Issue