FROM ghcr.io/astral-sh/uv:python3.11-bookworm ENV UV_CACHE_DIR=/app/.cache/uv RUN useradd --shell /bin/bash --uid 1000 transip_client USER transip_client WORKDIR /app RUN mkdir --parents /app/.cache/uv # only install dependencies RUN --mount=type=cache,uid=1000,target=/app/.cache/uv \ --mount=type=bind,source=uv.lock,target=/app/uv.lock \ --mount=type=bind,source=pyproject.toml,target=/app/pyproject.toml \ uv sync --frozen --no-install-project COPY pyproject.toml uv.lock /app COPY transip_client /app/transip_client # install dependencies + project RUN --mount=type=cache,uid=1000,target=/app/.cache/uv uv sync --frozen ENTRYPOINT ["uv", "run", "--", "transip-listen"]