Spaces:
Sleeping
Sleeping
Upload folder using huggingface_hub
Browse files- Dockerfile +14 -9
Dockerfile
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
FROM ghcr.io/astral-sh/uv:debian-slim
|
2 |
|
3 |
# Enable bytecode compilation, Copy from the cache instead of linking since it's a mounted volume
|
4 |
ENV UV_COMPILE_BYTECODE=1 \
|
5 |
UV_LINK_MODE=copy \
|
6 |
UV_CACHE_DIR=/root/.cache/uv \
|
7 |
-
|
8 |
|
9 |
# skipcq: DOK-DL3008
|
10 |
RUN apt-get update && \
|
@@ -14,17 +14,13 @@ RUN apt-get update && \
|
|
14 |
|
15 |
WORKDIR /app
|
16 |
|
17 |
-
RUN groupadd vocalizr && \
|
18 |
-
useradd --gid vocalizr --shell /bin/bash --create-home vocalizr && \
|
19 |
-
chown -R vocalizr:vocalizr /app
|
20 |
-
|
21 |
RUN --mount=type=cache,target=${UV_CACHE_DIR} \
|
22 |
--mount=type=bind,source=uv.lock,target=uv.lock \
|
23 |
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
24 |
--mount=type=bind,source=.python-version,target=.python-version \
|
25 |
uv sync --frozen --no-install-project --no-dev
|
26 |
|
27 |
-
COPY
|
28 |
|
29 |
RUN --mount=type=cache,target=${UV_CACHE_DIR} \
|
30 |
--mount=type=bind,source=uv.lock,target=uv.lock \
|
@@ -32,9 +28,18 @@ RUN --mount=type=cache,target=${UV_CACHE_DIR} \
|
|
32 |
--mount=type=bind,source=.python-version,target=.python-version \
|
33 |
uv sync --frozen --no-dev
|
34 |
|
35 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
36 |
|
37 |
-
ENV PATH="/app/.venv/bin:$PATH"
|
|
|
|
|
|
|
38 |
|
39 |
EXPOSE ${GRADIO_SERVER_PORT}
|
40 |
|
|
|
1 |
+
FROM ghcr.io/astral-sh/uv:debian-slim AS builder
|
2 |
|
3 |
# Enable bytecode compilation, Copy from the cache instead of linking since it's a mounted volume
|
4 |
ENV UV_COMPILE_BYTECODE=1 \
|
5 |
UV_LINK_MODE=copy \
|
6 |
UV_CACHE_DIR=/root/.cache/uv \
|
7 |
+
UV_PYTHON_PREFERENCE=only-managed
|
8 |
|
9 |
# skipcq: DOK-DL3008
|
10 |
RUN apt-get update && \
|
|
|
14 |
|
15 |
WORKDIR /app
|
16 |
|
|
|
|
|
|
|
|
|
17 |
RUN --mount=type=cache,target=${UV_CACHE_DIR} \
|
18 |
--mount=type=bind,source=uv.lock,target=uv.lock \
|
19 |
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
|
20 |
--mount=type=bind,source=.python-version,target=.python-version \
|
21 |
uv sync --frozen --no-install-project --no-dev
|
22 |
|
23 |
+
COPY . /app
|
24 |
|
25 |
RUN --mount=type=cache,target=${UV_CACHE_DIR} \
|
26 |
--mount=type=bind,source=uv.lock,target=uv.lock \
|
|
|
28 |
--mount=type=bind,source=.python-version,target=.python-version \
|
29 |
uv sync --frozen --no-dev
|
30 |
|
31 |
+
FROM debian:bookworm-slim AS production
|
32 |
+
|
33 |
+
RUN groupadd vocalizr && \
|
34 |
+
useradd --gid vocalizr --shell /bin/bash vocalizr && \
|
35 |
+
chown -R vocalizr:vocalizr /app
|
36 |
+
|
37 |
+
COPY --from=builder --chown=vocalizr:vocalizr /app /app
|
38 |
|
39 |
+
ENV PATH="/app/.venv/bin:$PATH" \
|
40 |
+
GRADIO_SERVER_PORT=8080
|
41 |
+
|
42 |
+
USER vocalizr
|
43 |
|
44 |
EXPOSE ${GRADIO_SERVER_PORT}
|
45 |
|