|
FROM python:3.11-slim |
|
|
|
RUN --mount=type=cache,target=/root/.cache/pip pip install -U pip |
|
|
|
ARG TARGETPLATFORM |
|
RUN apt-get update && apt-get install --no-install-recommends -y curl ffmpeg |
|
RUN if [ "$TARGETPLATFORM" != "linux/amd64" ]; then apt-get install --no-install-recommends -y build-essential ; fi |
|
RUN if [ "$TARGETPLATFORM" != "linux/amd64" ]; then curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y ; fi |
|
ENV PATH="/root/.cargo/bin:${PATH}" |
|
|
|
RUN apt-get clean && rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
RUN useradd -ms /bin/bash appuser |
|
USER appuser |
|
WORKDIR /home/appuser/app |
|
RUN mkdir -p voices config |
|
|
|
|
|
RUN --mount=type=cache,target=/home/appuser/.cache/pip pip install piper |
|
|
|
ARG USE_ROCM |
|
ENV USE_ROCM=${USE_ROCM} |
|
|
|
COPY requirements*.txt /home/appuser/app/ |
|
RUN --mount=type=cache,target=/home/appuser/.cache/pip pip install -r requirements.txt |
|
|
|
COPY *.py *.sh *.default.yaml README.md LICENSE /home/appuser/app/ |
|
RUN chmod +x *.sh |
|
|
|
ARG PRELOAD_MODEL |
|
ENV PRELOAD_MODEL=${PRELOAD_MODEL} |
|
ENV TTS_HOME=voices |
|
ENV HF_HOME=voices |
|
ENV COQUI_TOS_AGREED=1 |
|
|
|
CMD bash startup.sh |
|
|