Spaces:
Sleeping
Sleeping
| FROM python:3.10-slim | |
| # Install system dependencies (for Pillow and general Python packages) | |
| USER root | |
| RUN apt-get update && \ | |
| apt-get install -y libjpeg-dev zlib1g-dev git && \ | |
| rm -rf /var/lib/apt/lists/* | |
| # Create non-root user | |
| RUN adduser --disabled-password --gecos '' user | |
| USER user | |
| # Environment variables | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH \ | |
| PORT=7860 \ | |
| HF_HOME=/home/user/.cache/huggingface \ | |
| TRANSFORMERS_CACHE=/home/user/.cache/huggingface/transformers \ | |
| TORCH_HOME=/home/user/.cache/torch \ | |
| OUTPUT_DIR=/home/user/outputs/beit-retina | |
| WORKDIR $HOME/app | |
| # Create necessary directories | |
| RUN mkdir -p $HF_HOME $TRANSFORMERS_CACHE $TORCH_HOME $OUTPUT_DIR | |
| # Copy requirements first for caching | |
| COPY --chown=user requirements.txt ./ | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copy app | |
| COPY --chown=user . . | |
| # Make startup script executable | |
| RUN chmod +x startup.sh | |
| # Expose port | |
| EXPOSE 7860 | |
| # Start API | |
| CMD ["bash", "startup.sh"] | |