RandomWeb / Dockerfile
Guest1
πŸš€ Initial Clean Deployment
d22875e
FROM python:3.12-slim
# Install system dependencies
RUN apt-get update && \
apt-get install -y --no-install-recommends nginx curl && \
rm -rf /var/lib/apt/lists/*
# Create non-root user (required by HF Spaces)
RUN useradd -m -u 1000 appuser
# Set working directory
WORKDIR /app
# Install Python dependencies
COPY backend/requirements.txt ./requirements.txt
RUN pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY backend/ ./backend/
COPY frontend/ ./frontend/
# Copy Nginx config
COPY nginx.conf /etc/nginx/nginx.conf
# Copy startup script
COPY run.sh ./run.sh
RUN chmod +x ./run.sh
# Create Nginx temp directories writable by appuser
RUN mkdir -p /tmp/nginx-client-body /tmp/nginx-proxy /tmp/nginx-fastcgi /tmp/nginx-uwsgi /tmp/nginx-scgi && \
chown -R appuser:appuser /tmp/nginx-* && \
chown -R appuser:appuser /var/lib/nginx && \
chown -R appuser:appuser /var/log/nginx && \
chown -R appuser:appuser /app && \
touch /tmp/nginx.pid && \
chown appuser:appuser /tmp/nginx.pid
# Switch to non-root user
USER appuser
EXPOSE 7860
CMD ["./run.sh"]