Sporalize-api / Dockerfile
Shoraky's picture
Stream session video ranges directly from storage
a66365f
Raw History Blame Contribute Delete
960 Bytes
FROM node:22-bookworm-slim AS node-build
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY tsconfig.json ./
COPY src ./src
RUN npm run build && npm prune --omit=dev
FROM python:3.10-slim-bookworm
ENV NODE_ENV=production PYTHONUNBUFFERED=1 PYTHONDONTWRITEBYTECODE=1 HF_HOME=/home/appuser/.cache/huggingface PORT=7860
RUN apt-get update && apt-get install -y --no-install-recommends ffmpeg libglib2.0-0 libgl1 \
&& rm -rf /var/lib/apt/lists/* \
&& useradd --create-home --uid 1000 appuser
COPY --from=node-build /usr/local/bin/node /usr/local/bin/node
WORKDIR /app
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt
COPY --from=node-build --chown=appuser:appuser /app/dist ./dist
COPY --from=node-build --chown=appuser:appuser /app/node_modules ./node_modules
COPY --chown=appuser:appuser package.json app.py start.py storage_listing.py playback_timing.py video_stream.py ./
USER appuser
EXPOSE 7860
CMD ["python", "start.py"]