FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 HF_HUB_DISABLE_TELEMETRY=1 DO_NOT_TRACK=1
WORKDIR /app
RUN pip install --no-cache-dir av==16.1.0 faster-whisper==1.2.1 Flask==3.1.2 gunicorn==23.0.0
RUN python -c "from huggingface_hub import snapshot_download; snapshot_download('Systran/faster-whisper-tiny.en',local_dir='/models/tiny.en',allow_patterns=['model.bin','config.json','tokenizer.json','vocabulary.*'])"
COPY app.py /app/app.py
ENV HF_HUB_OFFLINE=1 MODEL_PATH=/models/tiny.en OMP_NUM_THREADS=1
USER 65532:65532
EXPOSE 8090
CMD ["gunicorn","--bind","0.0.0.0:8090","--workers","1","--threads","2","--timeout","90","--access-logfile","-","app:app"]
