Spaces:
Sleeping
Sleeping
| FROM python:3.9-slim | |
| WORKDIR /app | |
| # Install system dependencies | |
| RUN apt-get update && apt-get install -y \ | |
| gcc \ | |
| g++ \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Copy requirements first for better caching | |
| COPY requirements.txt . | |
| # Install Python dependencies | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copy application code | |
| COPY . . | |
| # Create .streamlit directory and config | |
| RUN mkdir -p ~/.streamlit/ | |
| RUN echo "\ | |
| [general]\n\ | |
| email = \"\"\n\ | |
| " > ~/.streamlit/credentials.toml | |
| RUN echo "\ | |
| [server]\n\ | |
| headless = true\n\ | |
| enableCORS=false\n\ | |
| port = 8501\n\ | |
| " > ~/.streamlit/config.toml | |
| # Expose port | |
| EXPOSE 8501 | |
| # Health check | |
| HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health | |
| # Run the application | |
| CMD ["streamlit", "run", "app.py", "--server.address=0.0.0.0"] | |
| # docker-compose.yml for easy deployment | |
| version: '3.8' | |
| services: | |
| data-analysis-platform: | |
| build: . | |
| ports: | |
| - "8501:8501" | |
| environment: | |
| - OPENAI_API_KEY=${OPENAI_API_KEY} | |
| - GOOGLE_API_KEY=${GOOGLE_API_KEY} | |
| volumes: | |
| - ./data:/app/data | |
| - ./exports:/app/exports | |
| restart: unless-stopped | |
| mem_limit: 2g | |
| mem_reservation: 1g |