tyre / Dockerfile
SHELLAPANDIANGANHUNGING's picture
Upload 7 files
67b65ce verified
# βœ… 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"]