hugohonda's picture
update
ffc2e6b
FROM python:3.13.5-slim
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
HF_HOME=/app/.cache/huggingface \
TRANSFORMERS_CACHE=/app/.cache/transformers \
HF_DATASETS_CACHE=/app/.cache/datasets \
STREAMLIT_SERVER_HEADLESS=true \
STREAMLIT_SERVER_ENABLE_CORS=false
WORKDIR /app
COPY requirements.txt .
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
gcc \
g++ \
libgomp1 \
curl \
&& rm -rf /var/lib/apt/lists/*
RUN pip install --upgrade pip \
&& pip install --no-cache-dir -r requirements.txt
RUN apt-get purge -y build-essential gcc g++ \
&& apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/*
# Create non-root user
RUN groupadd -r appuser && useradd -r -g appuser appuser
COPY src/ ./src/
COPY Churn_Modelling.csv ./
COPY .streamlit/ ./.streamlit/
# Set proper permissions
RUN chown -R appuser:appuser /app \
&& mkdir -p /app/.cache/huggingface \
&& chown -R appuser:appuser /app/.cache
EXPOSE 8501
# Switch to non-root user
USER appuser
HEALTHCHECK CMD curl --fail http://localhost:8501/_stcore/health
ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]