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"]