31 lines
914 B
Docker
31 lines
914 B
Docker
FROM node:20-bookworm-slim
|
||
|
||
# ImageMagick, Tesseract OCR (eng + fra + ara for image-ocr)
|
||
# ffmpeg, whisper, piper-tts, real-esrgan removed – video/audio/image-upscale tools disabled
|
||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||
imagemagick \
|
||
tesseract-ocr \
|
||
tesseract-ocr-eng \
|
||
tesseract-ocr-fra \
|
||
tesseract-ocr-ara \
|
||
ca-certificates \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
WORKDIR /app
|
||
|
||
COPY package*.json ./
|
||
# Use BuildKit cache mount to speed up npm install on rebuilds
|
||
RUN --mount=type=cache,target=/root/.npm \
|
||
npm install
|
||
|
||
COPY . .
|
||
|
||
# Generate Prisma client (Debian uses debian-openssl-3.0.x)
|
||
RUN npx prisma generate
|
||
|
||
# Entrypoint used when running with bind mount (live code); lives outside /app so mount does not override it.
|
||
COPY scripts/docker-dev-entrypoint.sh /entrypoint.sh
|
||
RUN sed -i 's/\r$//' /entrypoint.sh && chmod +x /entrypoint.sh
|
||
|
||
ENTRYPOINT ["/entrypoint.sh"]
|