Spaces:
Sleeping
Sleeping
File size: 1,142 Bytes
8241f76 b9a47ba f790365 8241f76 f790365 8241f76 4694917 8241f76 4694917 8241f76 4694917 8241f76 f790365 5c2b015 305a852 b9a47ba 6c01af4 be6b8f8 9ef28d1 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 |
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=8080 \
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 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"] |