Uzbek-STT / Dockerfile
bintuulugbek's picture
feat(m1): deployable FastAPI skeleton for Uzbek STT
0978d28
Raw
History Blame Contribute Delete
855 Bytes
# M1 image — intentionally minimal (no torch / ffmpeg yet) so the first HF Spaces
# build is fast and reliable. M2 adds the ML stack + ffmpeg + baked fast weights.
FROM python:3.12-slim
# HF Spaces runs containers as a non-root user with UID 1000.
# Create /app owned by `user` BEFORE dropping privilege — otherwise Docker creates
# the WORKDIR root-owned and later writes (M2 weight baking) fail.
RUN useradd -m -u 1000 user && mkdir -p /app && chown user:user /app
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
PYTHONUNBUFFERED=1
WORKDIR /app
COPY --chown=user pyproject.toml README.md ./
COPY --chown=user app ./app
RUN pip install --no-cache-dir --user .
# Port 7860 must stay in lockstep with README `app_port` and Settings.port.
EXPOSE 7860
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]