Spaces:
Running
Running
File size: 1,217 Bytes
8241f76 b9a47ba f790365 8241f76 f790365 8241f76 38e8073 8241f76 4694917 8241f76 4694917 8241f76 4694917 8241f76 f790365 5c2b015 305a852 b9a47ba 6c01af4 bcc762e be6b8f8 9ef28d1 28470fb 8241f76 26a56bb 305a852 eb446cb 8241f76 f790365 305a852 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
FROM python:3.12-slim-bookworm
ENV UV_COMPILE_BYTECODE=1 \
UV_NO_CACHE=1 \
UV_SYSTEM_PYTHON=1 \
UV_FROZEN=1 \
PATH="/root/.local/bin:$PATH" \
GRADIO_SERVER_PORT=7860 \
GRADIO_SERVER_NAME=0.0.0.0
# skipcq: DOK-DL3008
RUN groupadd vocalizr && \
useradd -g vocalizr -s /bin/bash -d /app vocalizr && \
apt-get update -qq && \
apt-get install -qq -y --no-install-recommends espeak-ng ffmpeg && \
apt-get clean -qq && \
rm -rf /var/lib/apt/lists/*
COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
RUN uv tool install --quiet huggingface-hub[cli] && \
huggingface-cli download --quiet hexgrad/Kokoro-82M && \
uv tool uninstall --quiet huggingface-hub
WORKDIR /app
RUN --mount=type=bind,source=pylock.toml,target=pylock.toml \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
--mount=type=bind,source=README.md,target=README.md \
--mount=type=bind,source=src,target=/app/src \
uv export --no-hashes --no-editable --no-dev --quiet -o pylock.toml && \
uv pip sync pylock.toml
RUN chown -R vocalizr:vocalizr /app
COPY --chown=vocalizr:vocalizr . /app
USER vocalizr
EXPOSE ${GRADIO_SERVER_PORT}
CMD ["python", "src/vocalizr"] |