Spaces:
Runtime error
Runtime error
FROM python:3.9-slim | |
# Set the working directory in the container | |
WORKDIR /code | |
# Install system dependencies | |
# fonts-liberation is a good open-source substitute for common fonts like Arial/Times New Roman | |
# which helps Pillow/ImageFont find a font file. | |
# Install system dependencies, including Git and Git LFS | |
RUN apt-get update && apt-get install -y --no-install-recommends \ | |
git \ | |
git-lfs \ | |
&& git lfs install \ | |
&& apt-get clean \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Copy the requirements file into the container at /code | |
COPY requirements.txt . | |
# FIX: Create a cache directory AND set its permissions to be world-writable (777). | |
# This ensures the runtime user (which may not be root) can write to it. | |
RUN mkdir .cache && chmod 777 .cache | |
ENV TORCH_HOME=/code/.cache | |
ENV HF_HOME=/code/.cache/huggingface | |
# Install Python dependencies | |
# We specify the CPU-only version of PyTorch for faster builds and smaller image size, | |
# which is ideal for standard Hugging Face Spaces hardware. | |
# | |
# FIX: Use --extra-index-url instead of --index-url. | |
# This tells pip to use the PyTorch repository as an *additional* source, | |
# while still allowing it to download other packages like 'gradio' from the default PyPI. | |
RUN pip install --no-cache-dir --upgrade pip && \ | |
pip install --no-cache-dir -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cpu | |
# Copy the rest of your application's code and assets into the container at /code | |
# This includes app.py, your .pth model, and your .jpg example images. | |
COPY . . | |
# Pull actual LFS files | |
RUN git lfs install && git lfs pull | |
# Command to run the application | |
# Gradio automatically listens on port 7860, which Hugging Face exposes. | |
CMD ["python", "app.py"] | |