# Gegenbuch – läuft auf einem EIGENEN Rechner, nicht dort, wo OpenCRM läuft.
#
# Der Container holt lesend einen Kontrollwert vom CRM (HTTPS + Token mit
# audit:read) und legt seine Einträge in einem Git-Repository auf DIESER
# Maschine ab. Er braucht keinen SSH-Zugang zum CRM, keine Datenbank, keine
# Shell dort. Umgekehrt kennt OpenCRM dieses Gegenbuch überhaupt nicht.
FROM node:20-slim

# git für das Buch, openssh-client für die Signaturen (ssh-keygen).
RUN apt-get update && apt-get install -y --no-install-recommends \
      git openssh-client ca-certificates \
    && rm -rf /var/lib/apt/lists/*

COPY notary.mjs /opt/notary/notary.mjs
COPY entrypoint.sh /opt/notary/entrypoint.sh
RUN chmod +x /opt/notary/entrypoint.sh

# Nicht als root laufen. Das Node-Image bringt bereits einen Benutzer mit
# UID 1000 mit ("node") – der passt zu Bind-Mounts unter ./data/.
USER node
WORKDIR /gegenbuch

ENTRYPOINT ["/opt/notary/entrypoint.sh"]
