PyACT / Dockerfile
alibidaran's picture
Update Dockerfile
bb52d78 verified
raw
history blame
1.03 kB
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"]