mirror of
https://github.com/josegonzalez/python-github-backup.git
synced 2025-12-05 16:18:02 +01:00
39 lines
841 B
Docker
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"]
|