feat(v2): complete v2 reimplementation
This commit is contained in:
+41
@@ -0,0 +1,41 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
# Pinned by manifest digest; update tag and digest together.
|
||||
FROM python:3.12.11-slim-bookworm@sha256:519591d6871b7bc437060736b9f7456b8731f1499a57e22e6c285135ae657bf7 AS builder
|
||||
|
||||
ENV PIP_DISABLE_PIP_VERSION_CHECK=1 \
|
||||
PIP_NO_CACHE_DIR=1
|
||||
|
||||
WORKDIR /build
|
||||
COPY backend/pyproject.toml ./pyproject.toml
|
||||
COPY backend/src ./src
|
||||
RUN python -m pip install --upgrade pip==25.3 && \
|
||||
python -m pip wheel --wheel-dir /wheels .
|
||||
|
||||
FROM python:3.12.11-slim-bookworm@sha256:519591d6871b7bc437060736b9f7456b8731f1499a57e22e6c285135ae657bf7 AS runtime
|
||||
|
||||
ENV PATH="/opt/venv/bin:${PATH}" \
|
||||
PYTHONDONTWRITEBYTECODE=1 \
|
||||
PYTHONUNBUFFERED=1 \
|
||||
BACKUP_TOOL_ALEMBIC_ROOT=/app
|
||||
|
||||
RUN groupadd --gid 10001 backup-tool && \
|
||||
useradd --uid 10001 --gid backup-tool --create-home --home-dir /home/backup-tool \
|
||||
--shell /usr/sbin/nologin backup-tool && \
|
||||
python -m venv /opt/venv && \
|
||||
install --directory --owner=backup-tool --group=backup-tool --mode=0750 \
|
||||
/var/lib/backup-tool \
|
||||
/var/lib/backup-tool/repositories \
|
||||
/var/lib/backup-tool/restores \
|
||||
/run/backup-tool
|
||||
|
||||
COPY --from=builder /wheels /wheels
|
||||
RUN python -m pip install --no-index --find-links=/wheels backup-tool==2.0.0.dev0 && \
|
||||
rm -rf /wheels
|
||||
COPY --chown=backup-tool:backup-tool backend/alembic.ini /app/alembic.ini
|
||||
COPY --chown=backup-tool:backup-tool backend/alembic /app/alembic
|
||||
|
||||
WORKDIR /app
|
||||
USER backup-tool:backup-tool
|
||||
|
||||
ENTRYPOINT ["backup-tool"]
|
||||
CMD ["web"]
|
||||
Reference in New Issue
Block a user