nukki / Dockerfile
minsuas's picture
Upload folder using huggingface_hub
bcfaab3 verified
Raw
History Blame Contribute Delete
1.11 kB
FROM python:3.11-slim
ENV PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
HF_HOME=/home/user/app/.models \
HF_HUB_DISABLE_TELEMETRY=1 \
NUKKI_HOST=0.0.0.0 \
NUKKI_PORT=7860
# opencv / pillow 런타임 의존
RUN apt-get update && apt-get install -y --no-install-recommends \
libgl1 libglib2.0-0 && rm -rf /var/lib/apt/lists/*
RUN useradd -m -u 1000 user
USER user
ENV PATH=/home/user/.local/bin:$PATH
WORKDIR /home/user/app
# CPU 전용 torch 먼저 (Spaces 무료는 GPU 없음 → CUDA 빌드 불필요)
COPY --chown=user requirements.txt .
RUN pip install --upgrade pip && \
pip install torch torchvision --index-url https://download.pytorch.org/whl/cpu && \
pip install -r requirements.txt
COPY --chown=user . .
# 모델을 이미지에 미리 구워넣어 cold start 시 재다운로드 방지 (실패해도 런타임에 받음)
RUN python -c "from app.registry import REGISTRY; REGISTRY.segmenter('general'); REGISTRY.matte('small'); print('prewarm ok')" || echo "prewarm skipped"
EXPOSE 7860
CMD ["uvicorn", "app.server:app", "--host", "0.0.0.0", "--port", "7860"]