# syntax=docker/dockerfile:1

# Minimales und gehärtetes Runtime-Image
FROM debian:trixie-slim AS runtime

# CA-Zertifikate und minimale dynamische Laufzeitbibliotheken installieren
RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        ca-certificates \
        libssl3 \
        zlib1g \
        libzstd1 && \
    rm -rf /var/lib/apt/lists/* /var/cache/apt/* && \
    groupadd -g 10001 appuser && \
    useradd -u 10001 -g appuser -d /home/appuser -m -s /usr/sbin/nologin appuser && \
    mkdir -p /home/appuser/.config/mirror-package \
             /home/appuser/.local/state/mirror-package \
             /home/appuser/.local/share/mirror-package \
             /etc/mirror-package && \
    chown -R appuser:appuser /home/appuser /etc/mirror-package

# Build-Argument mit Verweis auf die vorkompilierte Binary
ARG TARGET_BIN=target/release/mirror-package
COPY ${TARGET_BIN} /usr/local/bin/mirror-package

# Strikte Ausführungsrechte setzen
RUN chmod 0755 /usr/local/bin/mirror-package

# Als unprivilegierter Benutzer ausführen
USER 10001:10001
WORKDIR /home/appuser

# Volume-Mount-Punkte für Konfiguration und persistenten Status / Logs exponieren
VOLUME ["/home/appuser/.config/mirror-package", "/home/appuser/.local/state/mirror-package"]

ENTRYPOINT ["/usr/local/bin/mirror-package"]
CMD ["--help"]
