FROM python:3.10-slim RUN useradd -m -u 1000 user ENV HOME=/home/user PATH=/home/user/.local/bin:$PATH ENV PYTHONUNBUFFERED=1 WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends libglib2.0-0 libsm6 libxrender1 libxext6 libxcb1 libgl1 libgomp1 ffmpeg libavcodec-dev libavformat-dev libavutil-dev libswscale-dev libavdevice-dev libopus-dev libvpx-dev libsrtp2-dev build-essential nodejs npm && rm -rf /var/lib/apt/lists/* COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt COPY . . RUN npm install && npm run build && mkdir -p /app/static && cp -R dist/* /app/static/ ENV FOCUSGUARD_CACHE_DIR=/app/.cache/focusguard RUN python -c "from models.face_mesh import _ensure_model; _ensure_model()" RUN mkdir -p /app/data && chown -R user:user /app USER user EXPOSE 7860 CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860", "--log-level", "debug"]