Spaces:
Running
Running
File size: 1,034 Bytes
eab2772 bb52d78 eab2772 bb52d78 eab2772 bb52d78 eab2772 bb52d78 418c7b9 bb52d78 eab2772 bb52d78 eab2772 bb52d78 eab2772 bb52d78 eab2772 bb52d78 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
FROM python:3.13.5-slim
# Set working directory
WORKDIR /app
# Install system dependencies (for building Python packages)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
python3-dev \
curl \
git \
&& rm -rf /var/lib/apt/lists/*
# Upgrade pip first
RUN pip install --no-cache-dir --upgrade pip setuptools wheel
# Copy requirements first (for caching)
COPY requirements.txt .
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Copy app source code
COPY src/ ./src/
# Expose Streamlit default port
EXPOSE 8501
# Healthcheck (give Streamlit time to boot)
HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \
CMD curl --fail http://localhost:8501/_stcore/health || exit 1
# Run as non-root user for security (optional but good practice)
RUN useradd -m streamlit
USER streamlit
# Entrypoint to run Streamlit app
ENTRYPOINT ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
|