Product-Intelligence / Dockerfile
Keramo's picture
Update Dockerfile
a8a500c verified
Raw
History Blame Contribute Delete
909 Bytes
FROM python:3.11-slim
WORKDIR /app
# Install system dependencies (fixed for Debian Trixie)
RUN apt-get update && apt-get install -y \
libglx-mesa0 \
libgl1-mesa-dri \
libglib2.0-0 \
&& rm -rf /var/lib/apt/lists/*
# Upgrade pip
RUN pip install --upgrade pip
# Copy requirements first for better layer caching
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy the rest of the application
COPY . .
# Create gunicorn configuration file
RUN echo 'import multiprocessing\n\
\n\
bind = "0.0.0.0:7860"\n\
workers = 2 # HF Spaces provide 2 vCPUs\n\
worker_class = "uvicorn.workers.UvicornWorker"\n\
timeout = 120\n\
keepalive = 5\n\
max_requests = 1000\n\
max_requests_jitter = 50\n\
graceful_timeout = 30\n\
' > /app/gunicorn_conf.py
ENV HF_HOME=/data
RUN mkdir -p /data
EXPOSE 7860
CMD ["gunicorn", "-c", "gunicorn_conf.py", "app:app"]