CoolFace
Apppublic

chwellofficial/nt360Slides

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
Dockerfile.dev56 linesDownload Raw Back to root
1# syntax=docker/dockerfile:1.42FROM python:3.11-slim-trixie3 4WORKDIR /app5 6# LiteParse (Node + @llamaindex/liteparse) for document extraction; OCR via Tesseract.7ENV APP_DATA_DIRECTORY=/app_data \8    TEMP_DIRECTORY=/tmp/presenton \9    PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium \10    UV_SYSTEM_PYTHON=1 \11    UV_COMPILE_BYTECODE=1 \12    UV_LINK_MODE=copy \13    PATH="/root/.local/bin:${PATH}" \14    EXPORT_PACKAGE_ROOT=/app/presentation-export \15    EXPORT_RUNTIME_DIR=/app/presentation-export \16    BUILT_PYTHON_MODULE_PATH=/app/presentation-export/py/convert-linux-x64 \17    PRESENTON_APP_ROOT=/app18 19RUN apt-get update && apt-get install -y --no-install-recommends \20      ca-certificates curl unzip \21      nginx libreoffice fontconfig chromium imagemagick zstd \22      tesseract-ocr tesseract-ocr-eng \23    && curl -LsSf https://astral.sh/uv/install.sh | sh \24    && rm -rf /var/lib/apt/lists/*25 26RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - \27    && apt-get install -y nodejs \28    && rm -rf /var/lib/apt/lists/*29 30COPY package.json package-lock.json /app/31RUN npm --prefix /app install --omit=dev32 33RUN mkdir -p /app/document-extraction-liteparse \34    && npm --prefix /app/document-extraction-liteparse init -y \35    && npm --prefix /app/document-extraction-liteparse install @llamaindex/liteparse@1.4.0 --omit=dev36COPY electron/resources/document-extraction/liteparse_runner.mjs /app/document-extraction-liteparse/liteparse_runner.mjs37 38COPY scripts/sync-presentation-export.cjs /app/scripts/sync-presentation-export.cjs39RUN node /app/scripts/sync-presentation-export.cjs --force \40    && chmod +x /app/presentation-export/py/convert-linux-x6441 42# Bind mount `.:/app` hides any .venv under servers/fastapi at runtime — install deps into43# system site-packages (same interpreter `start.js` uses as `python`).44COPY servers/fastapi /app/servers/fastapi45WORKDIR /app/servers/fastapi46RUN --mount=type=cache,target=/root/.cache/uv \47    uv export --frozen --no-dev --no-emit-project -o /tmp/requirements.txt \48    && uv pip install --system -r /tmp/requirements.txt \49    && uv pip install --system --no-deps .50 51WORKDIR /app52COPY nginx.conf /etc/nginx/nginx.conf53 54EXPOSE 8055CMD ["node", "/app/start.js", "--dev"]56