Copy the Docker CLI from the official image instead of apt, and use
--network=host during docker build so apt and layer pulls can resolve
external registries on standalone runners.
Co-authored-by: Cursor <cursoragent@cursor.com>
Avoid hardcoding 3.12 in the Dockerfile so the CI image tracks the same source of truth as local tooling and uv sync.
Co-authored-by: Cursor <cursoragent@cursor.com>
Pre-build Python, uv, and locked deps in a Gitea container image so daily jobs skip repeated bootstrap; document runner registry auth and ci-bot credentials.
Co-authored-by: Cursor <cursoragent@cursor.com>