FROM node:22-bookworm-slim
WORKDIR /usr/src/app

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        poppler-utils \
        tesseract-ocr \
        tesseract-ocr-deu \
        tesseract-ocr-eng \
    && rm -rf /var/lib/apt/lists/*

# Package-Dateien
COPY package*.json ./

# Dev + Prod Dependencies (für TS-Build nötig).
# Optionale native Linux-Pakete werden aus dem Lockfile installiert.
RUN npm ci --include=optional

# Restlicher Sourcecode
COPY . .

# TypeScript Build
ARG FEDEO_VERSION=0.0.0-dev
ARG FEDEO_REVISION=unknown
ENV FEDEO_VERSION=$FEDEO_VERSION
ENV FEDEO_REVISION=$FEDEO_REVISION
RUN npm run build && node --import tsx --test tests/*.test.ts

# Port freigeben
EXPOSE 3100

# Migrationen ausführen und App starten
CMD ["sh", "./docker-entrypoint.sh"]
