FROM debian:trixie-slim

# Provide excecutables
ENV DEBIAN_FRONTEND=noninteractive
RUN apt update \
    && apt install -y btrfs-progs cryptsetup e2fsprogs git make python3 pipx restic rsync sudo \
    && apt autoclean

# Setup uv
ENV UV_VERSION=0.11.8
ENV PATH="/root/.local/bin:$PATH"
RUN pipx install --global "uv==$UV_VERSION"

# Setup production dependencies
WORKDIR /project
RUN touch README.md  # Content is not relevant for this Dockerfile
COPY --chmod=555 dockerfiles/entrypoint.sh ./
COPY pyproject.toml uv.lock ./
RUN uv sync --frozen --no-install-project

# Install project
COPY examples/ examples/
COPY src/ src/
RUN uv sync --frozen

ENTRYPOINT ["./entrypoint.sh"]
