Add cache to Dockerfiles

This commit is contained in:
James R. Barlow
2025-01-04 12:09:11 -08:00
parent bfbe571f12
commit f390e7f9d1
2 changed files with 30 additions and 5 deletions
+14 -2
View File
@@ -36,7 +36,6 @@ RUN \
&& cd .. \
&& rm -rf jbig2
COPY . /app
WORKDIR /app
@@ -45,7 +44,19 @@ COPY --from=ghcr.io/astral-sh/uv:0.5.5 /uv /uvx /bin/
ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy
RUN uv sync --extra test --extra webservice --extra watcher --no-dev
# Install the project's dependencies using the lockfile and settings
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
uv sync --frozen --no-install-project --no-dev
# Then, add the rest of the project source code and install it
# Installing separately from its dependencies allows optimal layer caching
COPY . /app
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --frozen \
--extra test --extra webservice --extra watcher --no-dev \
--no-install-package pyarrow
FROM base
@@ -65,6 +76,7 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
tesseract-ocr-fra \
tesseract-ocr-por \
tesseract-ocr-spa \
ttyd \
unpaper \
&& rm -rf /var/lib/apt/lists/*
+16 -3
View File
@@ -27,15 +27,27 @@ RUN apk add --no-cache \
py3-pyarrow \
curl
COPY . /app
WORKDIR /app
COPY --from=ghcr.io/astral-sh/uv:0.5.5 /uv /uvx /bin/
ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy
RUN uv sync --extra test --extra webservice --extra watcher --no-dev
RUN uv venv --system-site-packages .venv
# Install the project's dependencies using the lockfile and settings
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=uv.lock,target=uv.lock \
--mount=type=bind,source=pyproject.toml,target=pyproject.toml \
uv sync --frozen --no-install-project --no-dev
# Then, add the rest of the project source code and install it
# Installing separately from its dependencies allows optimal layer caching
COPY . /app
RUN --mount=type=cache,target=/root/.cache/uv \
uv sync --frozen \
--extra test --extra webservice --extra watcher --no-dev \
--no-install-package pyarrow
FROM base
@@ -53,6 +65,7 @@ RUN apk add --no-cache \
tesseract-ocr-data-por \
tesseract-ocr-data-spa \
ttf-droid \
ttyd \
unpaper \
&& rm -rf /var/cache/apk/*