Spaces:
Running
Running
FROM python:3.10-slim | |
# System dependencies | |
RUN apt-get update && apt-get install -y git wget && rm -rf /var/lib/apt/lists/* | |
WORKDIR /workspace | |
# Install Python dependencies | |
COPY requirements.txt . | |
RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt | |
# Set Hugging Face cache for all model downloads (best practice for Spaces) | |
# ENV HF_HOME="/workspace/.cache/huggingface" | |
# RUN mkdir -p /workspace/.cache/huggingface | |
# ENV CACHE_DIR="/workspace/.cache" | |
# ENV HF_HOME="/workspace/.cache/huggingface" | |
# ENV TRANSFORMERS_CACHE="/workspace/.cache/huggingface" | |
# RUN mkdir -p /workspace/.cache/huggingface/hub && \ | |
# chmod -R 777 /workspace/.cache | |
ENV CACHE_DIR="/data" | |
ENV HF_HOME="/data/huggingface" | |
ENV TRANSFORMERS_CACHE="/data/huggingface" | |
RUN mkdir -p /data/huggingface/models | |
RUN mkdir -p /data/huggingface/hub/models--h94--IP-Adapter | |
RUN mkdir -p /data/huggingface/.locks && chmod -R 777 /data | |
# Pre-download Stable Diffusion v1-5 weights into cache | |
RUN python -c "import torch; from diffusers import StableDiffusionImg2ImgPipeline; StableDiffusionImg2ImgPipeline.from_pretrained('runwayml/stable-diffusion-v1-5', cache_dir='/workspace/.cache/huggingface', torch_dtype=torch.float32)" | |
# Pre-download IP-Adapter weights (if using) | |
# RUN mkdir -p /workspace/.cache/huggingface/ip_adapter && \ | |
# wget -O /workspace/.cache/huggingface/ip_adapter/ip-adapter_sd15.bin https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter_sd15.bin | |
# Copy app code | |
COPY . . | |
# Disable Gradio analytics (optional, but good for Spaces) | |
ENV GRADIO_ANALYTICS_ENABLED="False" | |
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] | |
# EXPOSE 7860 | |
# CMD ["python", "app.py"] | |
# FROM python:3.10-slim | |
# # System dependencies | |
# RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/* | |
# WORKDIR /workspace | |
# # Install Python dependencies | |
# COPY requirements.txt . | |
# RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt | |
# # Download models and adapters at build time | |
# # You can replace MODEL_ID or adapter repos as needed | |
# ENV CACHE_DIR="/data" | |
# ENV HF_HOME="/data" | |
# # ENV TRANSFORMERS_CACHE="/data" | |
# # ENV DEEPFACE_HOME="/data" | |
# # ENV INSIGHTFACE_HOME="/data/.insightface" | |
# RUN mkdir -p /data && \ | |
# chmod -R 777 /data | |
# # -- Download Stable Diffusion v1-5 weights -- | |
# # RUN python -c "from diffusers import StableDiffusionImg2ImgPipeline; StableDiffusionImg2ImgPipeline.from_pretrained('runwayml/stable-diffusion-v1-5', cache_dir='./models', torch_dtype='float32')" | |
# RUN python -c "import torch; from diffusers import StableDiffusionImg2ImgPipeline; StableDiffusionImg2ImgPipeline.from_pretrained('runwayml/stable-diffusion-v1-5', cache_dir='./models', torch_dtype=torch.float32)" | |
# RUN apt-get update && apt-get install -y wget | |
# # -- Download IP-Adapter weights (official Hugging Face repo) -- | |
# RUN mkdir -p ./models/ip_adapter && \ | |
# wget -O ./models/ip_adapter/ip-adapter_sd15.bin https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter_sd15.bin | |
# # Set Hugging Face cache for all model downloads (best practice for Spaces) | |
# ENV TRANSFORMERS_CACHE="/workspace/.cache/huggingface" | |
# RUN mkdir -p /workspace/.cache/huggingface && \ | |
# chmod -R 777 /workspace | |
# # Pre-download Stable Diffusion v1-5 weights into cache | |
# RUN python -c "import torch; from diffusers import StableDiffusionImg2ImgPipeline; StableDiffusionImg2ImgPipeline.from_pretrained('runwayml/stable-diffusion-v1-5', cache_dir='/workspace/.cache/huggingface', torch_dtype=torch.float32)" | |
# # Pre-download IP-Adapter weights (if using) | |
# RUN mkdir -p /workspace/.cache/huggingface/ip_adapter && \ | |
# wget -O /workspace/.cache/huggingface/ip_adapter/ip-adapter_sd15.bin https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter_sd15.bin | |
# # Copy app code | |
# COPY . . | |
# # Set environment (disable gradio analytics, useful for Spaces) | |
# ENV GRADIO_ANALYTICS_ENABLED="False" | |
# EXPOSE 7860 | |
# CMD ["python", "app.py"] | |