Files
python-github-backup/Dockerfile

39 lines
841 B
Docker

FROM python:3.12-alpine3.22 AS builder
RUN pip install --no-cache-dir --upgrade pip \
&& pip install --no-cache-dir uv
WORKDIR /app
RUN --mount=type=cache,target=/root/.cache/uv \
--mount=type=bind,source=requirements.txt,target=requirements.txt \
--mount=type=bind,source=release-requirements.txt,target=release-requirements.txt \
uv venv \
&& uv pip install -r release-requirements.txt
COPY . .
RUN --mount=type=cache,target=/root/.cache/uv \
uv pip install .
FROM python:3.12-alpine3.22
ENV PYTHONUNBUFFERED=1
RUN apk add --no-cache \
ca-certificates \
git \
git-lfs \
&& addgroup -g 1000 appuser \
&& adduser -D -u 1000 -G appuser appuser
COPY --from=builder --chown=appuser:appuser /app /app
WORKDIR /app
USER appuser
ENV PATH="/app/.venv/bin:$PATH"
ENTRYPOINT ["github-backup"]