topic_modelling_agent / Dockerfile
Enayut's picture
Upload 7 files
ed51280 verified
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"]