FROM python:3.11-slim WORKDIR /app # Install system dependencies (gcc for build, curl for healthcheck) RUN apt-get update && \ apt-get install -y --no-install-recommends gcc curl && \ rm -rf /var/lib/apt/lists/* # Install Python dependencies COPY requirements.txt ./ RUN pip install --no-cache-dir -r requirements.txt # Copy application COPY .streamlit/ .streamlit/ COPY core/ core/ COPY views/ views/ COPY app.py . COPY Shannon.png . COPY Satellite.png . # Create data directory for SQLite databases RUN mkdir -p /app/data # Expose Streamlit port EXPOSE 8080 # Health check HEALTHCHECK --interval=30s --timeout=10s --retries=3 \ CMD curl -f http://localhost:8080/_stcore/health || exit 1 # Run Streamlit ENTRYPOINT ["streamlit", "run", "app.py", \ "--server.port=8080", \ "--server.address=0.0.0.0", \ "--server.headless=true"]