FROM nvidia/cuda:12.1.1-cudnn8-runtime-ubuntu22.04 ENV DEBIAN_FRONTEND=noninteractive ENV PYTHONUNBUFFERED=1 WORKDIR /app RUN apt-get update && \ apt-get install -y --no-install-recommends \ python3 python3-pip python3-dev \ git build-essential && \ rm -rf /var/lib/apt/lists/* RUN ln -sf /usr/bin/python3 /usr/bin/python RUN pip install --no-cache-dir --upgrade pip "setuptools>=68" wheel # Install PyTorch with CUDA 12.1 RUN pip install --no-cache-dir \ torch==2.5.1 torchvision==0.20.1 \ --index-url https://download.pytorch.org/whl/cu121 COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt RUN git clone https://github.com/Megum1/CO-SPY.git model_code && \ cd model_code && \ git checkout 9fb781d && \ cd .. RUN mkdir -p /app/weights /app/hf_cache COPY weights/ /app/weights/ COPY app.py . ENV MODEL_PORT=5007 ENV PRELOAD_MODEL=true ENV MODEL_TIMEOUT=600 ENV WEIGHTS_DIR=/app/weights ENV HF_HOME=/app/hf_cache ENV PYTHONPATH=/app/model_code:$PYTHONPATH EXPOSE ${MODEL_PORT} RUN adduser --disabled-password --gecos '' appuser && \ chown -R appuser:appuser /app/hf_cache USER appuser CMD ["python", "app.py"]