invensync-v3-embed / Dockerfile
invensync's picture
Initial commit — SigLIP-2 embed API
2c45e8a verified
FROM python:3.11-slim
# Évite les prompts apt + bytecode cache
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
HF_HUB_DISABLE_TELEMETRY=1
# HF Spaces s'attend à un user non-root pour les writes (cache HF, etc.)
RUN useradd -m -u 1000 user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
WORKDIR /home/user/app
# Install Python deps en premier (cache layer)
COPY --chown=user:user requirements.txt .
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# Copy app + warm download du modèle au build (évite cold start sur 1er hit)
COPY --chown=user:user app.py .
# Pre-download le modèle dans le cache HF du container (~800 Mo)
# Économise ~60s sur le 1er request post-deploy
RUN python -c "from transformers import AutoModel, AutoProcessor; \
AutoModel.from_pretrained('invensync/siglip2-base-invensync-v1'); \
AutoProcessor.from_pretrained('invensync/siglip2-base-invensync-v1')"
EXPOSE 7860
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]