Skip to content

Commit fcbc8d5

Browse files
perf: bump dockerfile syntax to 1.17.1, replace pip env vars with uv env vars
- UV_COMPILE_BYTECODE, UV_LINK_MODE, UV_CACHE_DIR, UV_HTTP_TIMEOUT - Cache mount now targets /opt/uv-cache with sharing=locked Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent 597ba52 commit fcbc8d5

File tree

1 file changed

+9
-7
lines changed

1 file changed

+9
-7
lines changed

Dockerfile

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# syntax=docker/dockerfile:1.7.0
1+
# syntax=docker/dockerfile:1.17.1
22
# check=skip=all
33

44
# full semver just for python base image
@@ -19,11 +19,6 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
1919
gcc \
2020
python3-dev
2121

22-
# pip env vars
23-
ENV PIP_NO_CACHE_DIR=off
24-
ENV PIP_DISABLE_PIP_VERSION_CHECK=on
25-
ENV PIP_DEFAULT_TIMEOUT=100
26-
2722
# venv
2823
ARG UV_PROJECT_ENVIRONMENT="/opt/venv"
2924
ENV VENV="${UV_PROJECT_ENVIRONMENT}"
@@ -38,7 +33,14 @@ COPY ./app .
3833
COPY ./README.md .
3934
COPY pyproject.toml .
4035

41-
RUN --mount=type=cache,target=/root/.cache/uv \
36+
# optimize startup time, don't use hardlinks, set cache for buildkit mount,
37+
# set uv timeout
38+
ENV UV_COMPILE_BYTECODE=1
39+
ENV UV_LINK_MODE=copy
40+
ENV UV_CACHE_DIR=/opt/uv-cache/
41+
ENV UV_HTTP_TIMEOUT=90
42+
43+
RUN --mount=type=cache,target=/opt/uv-cache,sharing=locked \
4244
uv venv $UV_PROJECT_ENVIRONMENT \
4345
&& uv pip install -r pyproject.toml
4446

0 commit comments

Comments
 (0)