|
|
FROM python:3.11-slim-bullseye |
|
|
|
|
|
|
|
|
RUN sed -i 's/main/main contrib non-free/' /etc/apt/sources.list && \ |
|
|
apt-get update && \ |
|
|
apt-get install -y --no-install-recommends \ |
|
|
unrar \ |
|
|
libgl1 \ |
|
|
libglib2.0-0 \ |
|
|
|
|
|
ffmpeg \ |
|
|
|
|
|
git \ |
|
|
&& rm -rf /var/lib/apt/lists/* |
|
|
|
|
|
WORKDIR /app |
|
|
|
|
|
|
|
|
RUN pip install --no-cache-dir --upgrade pip setuptools wheel packaging |
|
|
|
|
|
|
|
|
RUN pip install --no-cache-dir \ |
|
|
"numpy<2" \ |
|
|
torch==2.1.2+cpu \ |
|
|
torchvision==0.16.2+cpu \ |
|
|
torchaudio==2.1.2+cpu \ |
|
|
--index-url https://download.pytorch.org/whl/cpu |
|
|
|
|
|
|
|
|
COPY requirements.txt . |
|
|
RUN pip install --no-cache-dir \ |
|
|
-r requirements.txt \ |
|
|
--find-links https://download.pytorch.org/whl/cpu \ |
|
|
--extra-index-url https://pypi.org/simple |
|
|
|
|
|
|
|
|
RUN pip install --no-cache-dir \ |
|
|
accelerate==0.27.2 \ |
|
|
transformers==4.36.2 \ |
|
|
timm==0.9.12 \ |
|
|
einops==0.7.0 \ |
|
|
bitsandbytes==0.42.0 |
|
|
|
|
|
|
|
|
RUN pip install --no-cache-dir \ |
|
|
protobuf==3.20.3 \ |
|
|
sentencepiece==0.2.0 |
|
|
|
|
|
|
|
|
COPY --chown=1000:1000 . . |
|
|
|
|
|
|
|
|
RUN useradd -m -u 1000 user && \ |
|
|
chown -R user:user /app && \ |
|
|
mkdir -p /app/downloads /app/extracted /app/extracted_frames /app/analysis_results && \ |
|
|
chown -R user:user /app/* |
|
|
|
|
|
USER user |
|
|
|
|
|
|
|
|
ENV HF_HUB_DISABLE_PROGRESS=1 |
|
|
ENV TF_CPP_MIN_LOG_LEVEL=3 |
|
|
ENV PYTORCH_NO_CUDA_MEMORY_CACHING=1 |
|
|
ENV TOKENIZERS_PARALLELISM=false |
|
|
ENV PYTHONUNBUFFERED=1 |
|
|
|
|
|
|
|
|
ENV CUDA_VISIBLE_DEVICES="" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CMD ["uvicorn", "download_api:app", "--host", "0.0.0.0", "--port", "7860", "--workers", "1"] |