File size: 1,583 Bytes
7ccd501 a6e6a7c 585bc48 8775295 585bc48 a6e6a7c 585bc48 d7edb12 585bc48 8775295 7ccd501 a6e6a7c 585bc48 a6e6a7c 585bc48 7ccd501 8775295 a6e6a7c 585bc48 a6e6a7c 585bc48 7ccd501 8775295 7ccd501 585bc48 7ccd501 8775295 7ccd501 8775295 7ccd501 8775295 7ccd501 8775295 7ccd501 8775295 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | # Use the official Python 3.11 slim image
FROM python:3.11-slim
# Install system dependencies required for Math/Data libraries AND PDF Generation
# Added: libcairo2, libgdk-pixbuf-2.0-0 (CRITICAL for WeasyPrint/PDF generation)
RUN apt-get update && apt-get install -y --no-install-recommends \
curl \
gcc \
g++ \
libgomp1 \
libpango-1.0-0 \
libpangoft2-1.0-0 \
libcairo2 \
libgdk-pixbuf-2.0-0 \
libjpeg62-turbo-dev \
libopenjp2-7-dev \
libffi-dev \
fonts-dejavu \
fonts-liberation \
&& rm -rf /var/lib/apt/lists/*
# Set the working directory inside the container
# Added: /app/temp_reports
RUN mkdir -p /app/output \
/app/chat_pdfs \
/app/temp_reports \
/app/generated_charts \
/app/cache
# Create required directories with permissions
# Added: /app/temp_reports
RUN chmod -R 777 /app/output \
/app/chat_pdfs \
/app/temp_reports \
/app/generated_charts \
/app/cache
# Create log files
RUN touch /app/pandasai.log /app/api_key_rotation.log && \
chmod 666 /app/pandasai.log /app/api_key_rotation.log
# Set environment variables
ENV MPLCONFIGDIR=/app/cache
ENV PYTHONUNBUFFERED=1
# Copy requirements and install
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY . .
# Ensure permissions
RUN chown -R 1000:1000 /app && chmod -R 777 /app
# Expose port
EXPOSE 7860
# CMD: Run the python script directly.
CMD bash -c "while true; do curl -s https://code-api-executor.hf.space/ping >/dev/null && sleep 300; done & python controller.py" |