MH0386 commited on
Commit
29a52de
·
verified ·
1 Parent(s): a65367c

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -38
Dockerfile CHANGED
@@ -1,54 +1,39 @@
1
- FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim AS builder
2
 
3
  ENV UV_COMPILE_BYTECODE=1 \
4
- UV_LINK_MODE=copy \
5
  UV_SYSTEM_PYTHON=1 \
6
- UV_PYTHON_DOWNLOADS=0 \
7
  UV_FROZEN=1 \
8
- PATH="/root/.local/bin:$PATH"
 
 
9
 
10
- WORKDIR /app
11
-
12
- RUN --mount=type=cache,target=/root/.cache/uv \
13
- --mount=type=bind,source=uv.lock,target=uv.lock \
14
- --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
15
- uv sync --no-install-project --no-dev
16
-
17
- COPY . /app
18
 
19
- RUN --mount=type=cache,target=/root/.cache/uv \
20
- uv sync --no-dev
21
 
22
- RUN uv tool install --quiet huggingface_hub[cli] && \
23
  huggingface-cli download --quiet hexgrad/Kokoro-82M && \
24
  uv tool uninstall --quiet huggingface-hub
25
 
26
- FROM python:3.12-alpine AS production
27
 
28
- ENV GRADIO_SERVER_PORT=7860 \
29
- GRADIO_SERVER_NAME=0.0.0.0 \
30
- PATH="/app/.venv/bin:$PATH"
31
-
32
- # skipcq: DOK-DL3008
33
- RUN addgroup vocalizr && \
34
- adduser -D -h /app -G vocalizr vocalizr && \
35
- apk update && \
36
- apk add --no-cache \
37
- build-base \
38
- lapack-dev \
39
- blas-dev \
40
- gfortran \
41
- musl-dev \
42
- libffi-dev \
43
- openssl-dev \
44
- zlib-dev \
45
- espeak-ng \
46
- ffmpeg && \
47
- rm -rf /var/cache/apk/*
48
 
49
- WORKDIR /app
50
 
51
- COPY --from=builder --chown=vocalizr:vocalizr /app /app
52
 
53
  USER vocalizr
54
 
 
1
+ FROM python:3.12-alpine
2
 
3
  ENV UV_COMPILE_BYTECODE=1 \
4
+ UV_NO_CACHE=1 \
5
  UV_SYSTEM_PYTHON=1 \
 
6
  UV_FROZEN=1 \
7
+ PATH="/root/.local/bin:$PATH" \
8
+ GRADIO_SERVER_PORT=8080 \
9
+ GRADIO_SERVER_NAME=0.0.0.0
10
 
11
+ # skipcq: DOK-DL3008
12
+ RUN addgroup vocalizr && \
13
+ adduser -D -G vocalizr vocalizr && \
14
+ apk update && \
15
+ apk add --no-cache espeak-ng ffmpeg && \
16
+ rm -rf /var/cache/apk/*
 
 
17
 
18
+ COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/
 
19
 
20
+ RUN uv tool install --quiet huggingface-hub[cli] && \
21
  huggingface-cli download --quiet hexgrad/Kokoro-82M && \
22
  uv tool uninstall --quiet huggingface-hub
23
 
24
+ WORKDIR /home/vocalizr/app
25
 
26
+ RUN --mount=type=bind,source=uv.lock,target=uv.lock \
27
+ --mount=type=bind,source=pyproject.toml,target=pyproject.toml \
28
+ --mount=type=bind,source=.python-version,target=.python-version \
29
+ --mount=type=bind,source=README.md,target=README.md \
30
+ --mount=type=bind,source=src,target=/home/vocalizr/app/src \
31
+ uv export --no-hashes --no-editable --no-dev --quiet -o requirements.txt && \
32
+ uv pip install --system -r requirements.txt
 
 
 
 
 
 
 
 
 
 
 
 
 
33
 
34
+ RUN chown -R vocalizr:vocalizr /home/vocalizr/app
35
 
36
+ COPY --chown=vocalizr:vocalizr . /home/vocalizr/app
37
 
38
  USER vocalizr
39