Spaces:
Running
Running
FROM python:3.12-slim | |
# Install nginx | |
RUN apt-get update && apt-get install -y nginx && \ | |
apt-get clean && rm -rf /var/lib/apt/lists/* | |
# Create user | |
RUN useradd -m -u 1000 user | |
# Install Python packages globally so they're accessible to all users | |
WORKDIR /app | |
COPY ./requirements.txt requirements.txt | |
RUN pip install --no-cache-dir --upgrade -r requirements.txt | |
# Copy nginx configuration | |
COPY nginx.conf /app/nginx.conf | |
# Create nginx directories and set permissions for user | |
RUN mkdir -p /var/run/nginx /var/log/nginx /var/lib/nginx/body /var/lib/nginx/fastcgi \ | |
/var/lib/nginx/proxy /var/lib/nginx/scgi /var/lib/nginx/uwsgi && \ | |
chown -R user:user /var/run/nginx /var/log/nginx /var/lib/nginx | |
# Copy application files and make script executable | |
COPY --chown=user . /app | |
RUN chmod +x /app/start.sh | |
# Switch to user for execution | |
USER user | |
ENV PATH="/home/user/.local/bin:$PATH" | |
ENV GRADIO_ANALYTICS_ENABLED=False | |
ENV GRADIO_ANALYTICS_ENABLED=false | |
ENV HF_HUB_DISABLE_TELEMETRY=1 | |
ENV GRADIO_TELEMETRY_ENABLED=False | |
ENV MPLCONFIGDIR=/tmp/matplotlib | |
EXPOSE 7860 | |
CMD ["/app/start.sh"] | |