# ---- base build ---- FROM python:3.11-slim AS base ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 # system deps RUN apt-get update && apt-get install -y --no-install-recommends git && rm -rf /var/lib/apt/lists/* WORKDIR /app # copy metadata first (better caching) COPY pyproject.toml README.md ./ COPY src ./src COPY app.py ./app.py # install package RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -e . # ---- runtime ---- FROM python:3.11-slim AS runtime ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 WORKDIR /app COPY --from=base /usr/local/lib/python3.11 /usr/local/lib/python3.11 COPY --from=base /usr/local/bin /usr/local/bin COPY --from=base /app /app EXPOSE 7860 CMD ["streamlit", "run", "app.py", "--server.port=7860", "--server.address=0.0.0.0"]