|
FROM python:3.13-slim |
|
|
|
ENV PYTHONUNBUFFERED=1 |
|
|
|
|
|
COPY --from=ghcr.io/astral-sh/uv:0.6.13 /uv /uvx /bin/ |
|
ENV PATH="/app/.venv/bin:$PATH" |
|
ENV UV_COMPILE_BYTECODE=1 |
|
ENV UV_LINK_MODE=copy |
|
|
|
WORKDIR /app |
|
|
|
|
|
COPY ./pyproject.toml ./uv.lock /app/ |
|
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/uv \ |
|
uv sync --frozen --no-install-project |
|
|
|
ENV PYTHONPATH=/app |
|
|
|
|
|
COPY ./app.py /app/app.py |
|
COPY ./src /app/src |
|
|
|
|
|
RUN --mount=type=cache,target=/root/.cache/uv \ |
|
uv sync |
|
|
|
EXPOSE 8501 |
|
|
|
|
|
CMD ["streamlit", "run", "app.py", "--server.port=8501", "--server.address=0.0.0.0"] |