Pin Tower-compatible CUDA runtime
GeoIntel release gates / Compile, test, contracts and builds (push) Canceled after 0s
GeoIntel release gates / Python and npm vulnerability policy (push) Canceled after 0s
GeoIntel release gates / GIS image, SBOM and container scan (push) Canceled after 0s

This commit is contained in:
Jens
2026-08-01 16:06:15 +02:00
parent dfcc11b0d5
commit 24dec16744
5 changed files with 15 additions and 12 deletions
+5 -5
View File
@@ -388,7 +388,7 @@ def test_backend_docker_context_contains_gis_import_smoke_script() -> None:
assert (ROOT / "backend" / "scripts" / "gis_import_smoke.py").exists()
def test_all_in_one_dockerfile_caches_dependencies_and_uses_cpu_torch_for_ai_runtime() -> None:
def test_all_in_one_dockerfile_caches_dependencies_and_pins_driver_compatible_cuda_torch() -> None:
dockerfile = (ROOT / "deploy" / "unraid" / "Dockerfile.all-in-one").read_text(encoding="utf-8")
metadata_copy_index = dockerfile.index("COPY backend/pyproject.toml /app/")
@@ -398,9 +398,9 @@ def test_all_in_one_dockerfile_caches_dependencies_and_uses_cpu_torch_for_ai_run
smoke_index = dockerfile.index("RUN python scripts/gis_import_smoke.py")
assert metadata_copy_index < placeholder_readme_index < dependency_install_index < backend_copy_index < smoke_index
assert "GEOINTEL_TORCH_INDEX_URL=https://download.pytorch.org/whl/cu130" in dockerfile
assert "GEOINTEL_TORCH_VERSION=2.13.0" in dockerfile
assert "GEOINTEL_TORCHVISION_VERSION=0.28.0" in dockerfile
assert "GEOINTEL_TORCH_INDEX_URL=https://download.pytorch.org/whl/cu128" in dockerfile
assert "GEOINTEL_TORCH_VERSION=2.11.0" in dockerfile
assert "GEOINTEL_TORCHVISION_VERSION=0.26.0" in dockerfile
assert '--index-url "$GEOINTEL_TORCH_INDEX_URL"' in dockerfile
@@ -432,4 +432,4 @@ def test_unraid_ai_runtime_requests_nvidia_and_fails_closed() -> None:
assert 'YOLO_DEVICE="${YOLO_DEVICE:-cuda:0}"' in run_script
assert 'YOLO_REQUIRE_CUDA="${YOLO_REQUIRE_CUDA:-true}"' in run_script
assert '-e YOLO_REQUIRE_CUDA="$YOLO_REQUIRE_CUDA"' in run_script
assert "https://download.pytorch.org/whl/cu130" in dockerfile
assert "https://download.pytorch.org/whl/cu128" in dockerfile
+3 -3
View File
@@ -9,9 +9,9 @@ RUN npm run build
FROM postgres:16-bookworm AS runtime
ARG GEOINTEL_INSTALL_AI=false
ARG GEOINTEL_TORCH_INDEX_URL=https://download.pytorch.org/whl/cu130
ARG GEOINTEL_TORCH_VERSION=2.13.0
ARG GEOINTEL_TORCHVISION_VERSION=0.28.0
ARG GEOINTEL_TORCH_INDEX_URL=https://download.pytorch.org/whl/cu128
ARG GEOINTEL_TORCH_VERSION=2.11.0
ARG GEOINTEL_TORCHVISION_VERSION=0.26.0
ARG GEOINTEL_ULTRALYTICS_VERSION=8.4.99
ARG GEOINTEL_SETUPTOOLS_VERSION=83.0.0
ARG GEOINTEL_WHEEL_VERSION=0.47.0
+1
View File
@@ -12230,3 +12230,4 @@ Open:
### Verificatie
- TypeScript- en Vite-productiebuild geslaagd.
- Gerichte frontend-, backend-, browser- en productieverificatie volgen hieronder na de releasegate.
- De eerste productieacceptatie vond een echte CUDA-compatibiliteitsregressie: `torch 2.13.0+cu130` zag de RTX 4080 SUPER maar weigerde initialisatie op de Tower-driver met CUDA 12.9-capaciteit. De AI-image is daarom teruggebracht naar de expliciet gepinde, drivercompatibele combinatie `torch 2.11.0` / `torchvision 0.26.0` via de officiële CUDA 12.8-index; promotie vereist opnieuw live `torch.cuda.is_available()` en modelpreflight.
+4 -2
View File
@@ -46,12 +46,14 @@ not be installed by the default Docker backend image unless an explicit AI image
or profile is introduced later.
The opt-in Unraid all-in-one AI build is NVIDIA-GPU-oriented. It installs the
pinned PyTorch/torchvision pair from the CUDA 13.0 wheel index before installing
pinned PyTorch/torchvision pair from the CUDA 12.8 wheel index before installing
the `ai` extra. The production runtime exposes the NVIDIA device, selects
`YOLO_DEVICE=cuda:0` and sets `YOLO_REQUIRE_CUDA=true`, so missing CUDA fails
closed instead of silently falling back to CPU. The index and versions remain
explicit Docker build arguments and require live driver/runtime validation on
Tower before release promotion.
Tower before release promotion. CUDA 12.8 is deliberately below the Tower
driver's reported CUDA 12.9 capability; a newer wheel index may not be promoted
merely because it exists when `torch.cuda.is_available()` fails on that driver.
Docker dependency metadata is copied before application source. Backend source
changes therefore reuse the dependency layer while changes to `pyproject.toml`
+2 -2
View File
@@ -237,7 +237,7 @@ export function LandingPage({
<div>
<p>Veilige toegang</p>
<h2 id="access-title">Open de GeoIntel-workbench</h2>
<span>Meld u aan als operator of start een beperkte demosessie.</span>
<span>Meld u aan als operator of start een projectgebonden demosessie met volledige analysetoegang.</span>
</div>
</div>
@@ -301,7 +301,7 @@ export function LandingPage({
<span className="landing-guest-icon" aria-hidden="true"><UserRound /></span>
<div>
<strong>Gastmodus</strong>
<p>Open een tijdelijke, alleen-lezen demowerkruimte met voorbeelddata en een vooraf uitgevoerde kwaliteitscontrole.</p>
<p>Gebruik dezelfde modellen, analyses en downloads als een gebruiker. Alleen beheer, instellingen en uploads blijven afgeschermd.</p>
</div>
<button type="button" onClick={submitGuestLogin} disabled={busy}>
{pendingAction === 'guest' ? 'Demo voorbereiden…' : 'Als gast verkennen'}