Containerfile (666B)
1 FROM ghcr.io/astral-sh/uv:python3.14-alpine AS builder 2 ENV UV_COMPILE_BYTECODE=1 UV_LINK_MODE=copy 3 WORKDIR /app 4 RUN --mount=type=cache,target=/root/.cache/uv \ 5 --mount=type=bind,source=uv.lock,target=uv.lock \ 6 --mount=type=bind,source=pyproject.toml,target=pyproject.toml \ 7 uv sync --frozen --no-install-project --no-dev 8 9 COPY . /app 10 11 RUN --mount=type=cache,target=/root/.cache/uv \ 12 uv sync --frozen --no-dev 13 14 FROM python:3.14-alpine 15 16 RUN apk add --no-cache graphviz 17 18 WORKDIR /app 19 20 COPY --from=builder /app/.venv /app/.venv 21 COPY . /app 22 23 ENV PYTHONUNBUFFERED=1 \ 24 PATH="/app/.venv/bin:$PATH" 25 26 EXPOSE 8000 27 28 CMD ["python", "src/rsdeps/dash_app.py"] 29