vton-backend / Dockerfile
StableVITON Deployer
Initial backend deployment
8495b3a
# Dockerfile for Hugging Face Spaces (GPU Support)
FROM python:3.10-slim
# Install system dependencies
# libgl1/libglib2.0-0 needed for OpenCV
RUN apt-get update && apt-get install -y \
git \
wget \
libgl1 \
libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
# Set up a new user named "user" with user ID 1000
RUN useradd -m -u 1000 user
# Switch to the "user" user
USER user
# Set home to the user's home directory
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
# Set working directory to the user's home directory
WORKDIR $HOME/app
# Copy requirements.txt and install dependencies
# Doing this before copying the rest of the code cache-busts only if requirements change
COPY --chown=user requirements.txt $HOME/app/requirements.txt
RUN pip install --no-cache-dir --upgrade pip && \
pip install --no-cache-dir -r requirements.txt
# Copy the rest of the application code
COPY --chown=user . $HOME/app
# Set environment variables for Hugging Face Cache
ENV HF_HOME=$HOME/app/model_cache
ENV TRANSFORMERS_CACHE=$HOME/app/model_cache
ENV TORCH_HOME=$HOME/app/model_cache
# Create cache directory
RUN mkdir -p $HF_HOME
# Expose the port
EXPOSE 7860
# Start the application
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]