Spaces:
Running
Running
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/* | |
# Add a non-root user and set permissions | |
RUN useradd -ms /bin/bash appuser | |
USER appuser | |
WORKDIR /home/appuser/app | |
RUN mkdir -p voices config | |
# Install piper | |
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/ | |
# Switch to root to change script permissions | |
USER root | |
RUN chmod +x /home/appuser/app/*.sh | |
# Switch back to non-root user | |
USER appuser | |
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 |