MH0386 commited on
Commit
5ab5ef6
·
verified ·
1 Parent(s): 1198939

Upload folder using huggingface_hub

Browse files
Files changed (1) hide show
  1. 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
- GRADIO_SERVER_PORT=8080
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 --chown=vocalizr:vocalizr . /app
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
- USER vocalizr
 
 
 
 
 
 
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