transip-client/Dockerfile
Sonny Bakker 97cf1a8f5c
All checks were successful
ci/woodpecker/push/tests Pipeline was successful
Use alpine image for containers
2025-04-30 08:23:55 +02:00

33 lines
878 B
Docker

FROM python:3.11-alpine
ARG UV_ARGS=""
COPY --from=ghcr.io/astral-sh/uv:python3.11-alpine /uv /uvx /bin/
# copy from the cache instead of linking since mounted volumes are used
ENV UV_LINK_MODE=copy
ENV UV_CACHE_DIR=/app/.cache/uv
ENV PATH="/app/.venv/bin:$PATH"
RUN useradd --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-dev --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 --no-dev $UV_ARGS
ENTRYPOINT ["transip-listen"]