FROM node:24-bookworm-slim

RUN apt-get update \
    && apt-get install -y --no-install-recommends ca-certificates ffmpeg intel-media-va-driver tesseract-ocr tesseract-ocr-deu tesseract-ocr-eng \
    && rm -rf /var/lib/apt/lists/*

WORKDIR /app
COPY --chmod=0644 package.json ./
COPY --chmod=0755 src ./src

RUN node --check src/server.js \
    && node --check src/content-analysis.js \
    && node --check src/aspect-ratio-analysis.js \
    && node --check src/season-intro-analysis.js

ENV NODE_ENV=production \
    MV_PORT=9487 \
    MV_MEDIA_ROOT=/media \
    MV_DATA_ROOT=/data \
    MV_STORYBOARD_INTERVAL=10 \
    MV_STORYBOARD_WORKERS=2 \
    MV_PREVIEW_WIDTH=320 \
    MV_CATALOG_ENABLED=true \
    MV_CATALOG_START_DELAY_SECONDS=60 \
    MV_CATALOG_INTERVAL_HOURS=168 \
    MV_HWACCEL=auto \
    MV_VAAPI_DEVICE=/dev/dri/renderD128 \
    MV_CONTENT_ANALYSIS_ENABLED=true \
    MV_ASPECT_RATIO_ANALYSIS_ENABLED=true \
    MV_SEASON_INTRO_LEARNING_ENABLED=true \
    MV_SEASON_INTRO_SEARCH_SECONDS=900 \
    MV_TESSERACT_PATH=tesseract \
    MV_OCR_LANGUAGES=deu+eng

EXPOSE 9487
CMD ["node", "src/server.js"]
