Spaces:
Sleeping
Sleeping
| # β Gunakan Python 3.10 (versi stabil & didukung Streamlit) | |
| FROM python:3.10-slim | |
| # Non-interactive mode | |
| ENV DEBIAN_FRONTEND=noninteractive \ | |
| PYTHONUNBUFFERED=1 \ | |
| PYTHONDONTWRITEBYTECODE=1 | |
| # Install deps minimal (tanpa build-essential berat) | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| curl \ | |
| git \ | |
| libgl1 \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # Set workdir | |
| WORKDIR /app | |
| # Salin requirements & install | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Salin file app (langsung di root β bukan src/) | |
| COPY app.py . | |
| COPY df_final.xlsx . | |
| # Port Streamlit (HF pakai 7860 atau 8501 β keduanya oke) | |
| EXPOSE 8501 | |
| # β HEALTHCHECK aman: gunakan python, bukan curl | |
| HEALTHCHECK --interval=30s --timeout=5s --start-period=60s --retries=3 \ | |
| CMD python -c "import urllib.request; urllib.request.urlopen('http://localhost:8501/_stcore/health', timeout=3)" | |
| # β ENTRYPOINT: tambahkan opsi headless & server address | |
| ENTRYPOINT ["streamlit", "run", "app.py", \ | |
| "--server.port=8501", \ | |
| "--server.address=0.0.0.0", \ | |
| "--server.headless=true", \ | |
| "--browser.serverAddress=0.0.0.0", \ | |
| "--browser.gatherUsageStats=false"] |