Spaces:
Running
Running
File size: 1,406 Bytes
5ab5ef6 b9a47ba 70ec7be 3c81ecb b9c3748 b9a47ba cbaf8dc b9a47ba 0fbc508 c67d34c b9a47ba c67d34c b9a47ba 5ab5ef6 c67d34c 5ec2f03 c67d34c 3e60f77 5ab5ef6 0a6b9e5 5ab5ef6 cbaf8dc 7a13ee8 cbaf8dc 0a6b9e5 cbaf8dc 5ab5ef6 fb29175 7c67037 5bd1a50 0a6b9e5 |
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 43 44 45 46 47 48 49 50 |
FROM ghcr.io/astral-sh/uv:debian-slim AS builder
# Enable bytecode compilation, Copy from the cache instead of linking since it's a mounted volume
ENV UV_COMPILE_BYTECODE=1 \
UV_LINK_MODE=copy \
UV_CACHE_DIR=/root/.cache/uv \
UV_PYTHON_PREFERENCE=only-managed
# # skipcq: DOK-DL3008
# RUN apt-get update && \
# apt-get install -qq -y --no-install-recommends espeak-ng && \
# apt-get clean && \
# rm -rf /var/lib/apt/lists/*
WORKDIR /app
RUN --mount=type=cache,target=${UV_CACHE_DIR} \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
--mount=type=bind,source=.python-version,target=.python-version \
uv sync --frozen --no-install-project --no-dev
COPY . /app
RUN --mount=type=cache,target=${UV_CACHE_DIR} \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
--mount=type=bind,source=.python-version,target=.python-version \
uv sync --frozen --no-dev
FROM debian:bookworm-slim AS production
RUN groupadd vocalizr && \
useradd --gid vocalizr --shell /bin/bash --create-home vocalizr
WORKDIR /app
COPY --from=builder --chown=vocalizr:vocalizr /app /app
ENV PATH="/app/.venv/Scripts:$PATH" \
GRADIO_SERVER_PORT=8080
USER vocalizr
EXPOSE ${GRADIO_SERVER_PORT}
ENTRYPOINT [ ]
CMD ["python", "vocalizr"]
|