mirror of
https://github.com/kevinveenbirkenbach/docker-volume-backup.git
synced 2026-02-02 11:04:06 +00:00
fix(backup,ci): make databases.csv optional and upgrade Docker CLI in image
- Handle missing or empty databases.csv gracefully with warnings and empty DataFrame - Add unit tests for robust databases.csv loading behavior - Adjust seed tests to assert warnings across multiple print calls - Replace Debian docker.io with docker-ce-cli to avoid Docker API version mismatch - Install required build tools (curl, gnupg) for Docker repo setup https://chatgpt.com/share/697e6d9d-6458-800f-9d12-1e337509be4e
This commit is contained in:
32
Dockerfile
32
Dockerfile
@@ -3,33 +3,35 @@ FROM python:3.11-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Runtime + build essentials:
|
||||
# - rsync: required for file backup/restore
|
||||
# - ca-certificates: TLS
|
||||
# - docker-cli: needed if you want to control the host Docker engine (via /var/run/docker.sock mount)
|
||||
# - make: to delegate install logic to Makefile
|
||||
#
|
||||
# Notes:
|
||||
# - On Debian slim, the docker client package is typically "docker.io".
|
||||
# - If you only want restore-without-docker, you can drop docker.io later.
|
||||
# Base deps for build/runtime + docker repo key
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
make \
|
||||
rsync \
|
||||
ca-certificates \
|
||||
docker.io \
|
||||
bash \
|
||||
curl \
|
||||
gnupg \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Docker CLI (docker-ce-cli) from Docker's official apt repo
|
||||
RUN bash -lc "set -euo pipefail \
|
||||
&& install -m 0755 -d /etc/apt/keyrings \
|
||||
&& curl -fsSL https://download.docker.com/linux/debian/gpg \
|
||||
| gpg --dearmor -o /etc/apt/keyrings/docker.gpg \
|
||||
&& chmod a+r /etc/apt/keyrings/docker.gpg \
|
||||
&& . /etc/os-release \
|
||||
&& echo \"deb [arch=\$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \${VERSION_CODENAME} stable\" \
|
||||
> /etc/apt/sources.list.d/docker.list \
|
||||
&& apt-get update \
|
||||
&& apt-get install -y --no-install-recommends docker-ce-cli \
|
||||
&& rm -rf /var/lib/apt/lists/*"
|
||||
|
||||
# Fail fast if docker client is missing
|
||||
RUN docker version || true
|
||||
RUN command -v docker
|
||||
|
||||
COPY . .
|
||||
|
||||
# All install decisions are handled by the Makefile.
|
||||
RUN make install
|
||||
|
||||
# Sensible defaults (can be overridden at runtime)
|
||||
ENV PYTHONUNBUFFERED=1
|
||||
|
||||
# Default: show CLI help
|
||||
CMD ["baudolo", "--help"]
|
||||
|
||||
Reference in New Issue
Block a user