topic_modelling_agent / Dockerfile
Enayut's picture
Update Dockerfile
09a270d verified
Raw History Blame Contribute Delete
1.25 kB
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 \
curl \
&& 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 agents.py .
COPY run_specter.py .
COPY computation_clusters.py .
COPY research_chatbot.py .
# Copy datasets (bundled as defaults)
COPY dataset.csv .
COPY computation.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"]