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