# Claude-Helfer (F6, Entscheidung 05.10.2026): Claude Code mit dem Claude-ABO des Inhabers,
# als eigener Dienst neben dem Rechnungsprogramm. Baut auf dem App-Abbild der Instanz auf —
# damit startet der stdio-MCP-Server (dist/helper-stdio.cjs, Quelle src/mcp/helper-stdio.ts) im selben Container, ohne Port
# und ohne zusätzlichen Zugang.
#
# Grenze ist der Container (Stephan 05.10.): darin darf Claude alles, er sieht aber nur die
# Datenbank und die Anhänge DIESER Instanz (Netz `intern` + eigener Ausgang), nichts vom Host.
ARG APP_IMAGE
FROM ${APP_IMAGE}

USER root
# poppler-utils: das Read-Werkzeug von Claude Code braucht pdftoppm für PDFs > 10 Seiten.
# tmux: Remote Control läuft in einer tmux-Sitzung weiter (docs/ANLEITUNG.md 6k).
RUN apt-get update \
  && apt-get install -y --no-install-recommends poppler-utils ca-certificates curl git tmux procps \
  && rm -rf /var/lib/apt/lists/* \
  && npm install -g @anthropic-ai/claude-code \
  && mkdir -p /tmp/eingang /home/node/.claude \
  && chown -R node:node /tmp/eingang /home/node

# Kein CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC (macht Remote Control unbenutzbar), kein --bare
# (liest CLAUDE_CODE_OAUTH_TOKEN nicht). Aktualisiert wird über einen Neubau (update.sh).
ENV DISABLE_AUTOUPDATER=1 \
    HOME=/home/node \
    INCOMING_PDF_DIR=/tmp/eingang

# bypassPermissions verweigert Claude Code als root → eigener Benutzer
USER node
WORKDIR /app
CMD ["sleep", "infinity"]
