Spaces:
Sleeping
Sleeping
File size: 1,132 Bytes
ed51280 | 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 | FROM python:3.11-slim
# Set working directory
WORKDIR /app
# Install system dependencies needed by some Python packages
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
&& rm -rf /var/lib/apt/lists/*
# Copy requirements first (Docker layer caching)
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Download NLTK data at build time so it's baked into the image
RUN python -c "import nltk; nltk.download('punkt'); nltk.download('punkt_tab'); nltk.download('stopwords')"
# Copy application code
COPY app.py .
COPY agent.py .
COPY tools.py .
# Copy dataset (bundled as the default dataset)
COPY dataset.csv .
# Create writable outputs directory
RUN mkdir -p /app/outputs && chmod 777 /app/outputs
# Expose Streamlit port
EXPOSE 8501
# Health check
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health || exit 1
# Run Streamlit
CMD ["streamlit", "run", "app.py", \
"--server.port=8501", \
"--server.address=0.0.0.0", \
"--server.headless=true", \
"--browser.gatherUsageStats=false", \
"--server.fileWatcherType=none"]
|