flowchart TD subgraph BASE["Base Build Stage"] direction TB Ba1["python:3.12-slim"]:::base Ba2["Create non-root lrs user/group
UID 10001"]:::base Ba1 --> Ba2 end subgraph BUILDER["Builder Build Stage"] direction TB Bu1["Copy in uv binary"]:::build Bu2["Copy pyproject.toml + uv.lock"]:::build Bu3["uv sync --frozen
dependency layer"]:::build Bu4["Copy src/"]:::build Bu5["uv sync --frozen
application layer"]:::build Bu6["Populated .venv/ and src/
uv + build cache left behind"]:::keep Bu1 --> Bu2 --> Bu3 --> Bu4 --> Bu5 --> Bu6 end subgraph RUNTIME["Runtime Build Stage"] direction TB Ru1["USER lrs"]:::run Ru2["EXPOSE 8080"]:::run Ru3["HEALTHCHECK: lrs healthcheck"]:::run Ru4["ENTRYPOINT [lrs]"]:::run Ru5["Final shippable image"]:::run Ru1 --> Ru2 --> Ru3 --> Ru4 --> Ru5 end BASE -->|FROM base| BUILDER BASE -->|FROM base| RUNTIME Bu6 -->|"COPY --from=builder: .venv/ and src/ ONLY"| Ru1 classDef base fill:#8b9bb0,stroke:#5f6e82,color:#fff,font-size:13px classDef build fill:#e9a23b,stroke:#b8791f,color:#222,font-size:13px classDef keep fill:#c9822b,stroke:#8a5a1c,color:#fff,font-size:13px classDef run fill:#2a9d8f,stroke:#1f7a6f,color:#fff,font-size:13px linkStyle default stroke:#999,stroke-width:2px

Details

Click a node to see details