project-nomad/admin/app/services
Chris Sherwood c16cfc3a93 fix(GPU): detect NVIDIA GPUs via Docker API instead of lspci
The previous lspci-based GPU detection fails inside Docker containers
because lspci isn't available, causing Ollama to always run CPU-only
even when a GPU + NVIDIA Container Toolkit are present on the host.

Replace with Docker API runtime check (docker.info() -> Runtimes) as
primary detection method. This works from inside any container via the
mounted Docker socket and confirms both GPU presence and toolkit
installation. Keep lspci as fallback for host-based installs and AMD.

Also add Docker-based GPU detection to benchmark hardware info — exec
nvidia-smi inside the Ollama container to get the actual GPU model name
instead of showing "Not detected".

Tested on nomad3 (Intel Core Ultra 9 285HX + RTX 5060): AI performance
went from 12.7 tok/s (CPU) to 281.4 tok/s (GPU) — a 22x improvement.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 15:18:52 -08:00
..
benchmark_service.ts fix(GPU): detect NVIDIA GPUs via Docker API instead of lspci 2026-02-08 15:18:52 -08:00
chat_service.ts feat(AI): chat suggestions and assistant settings 2026-02-01 07:24:21 +00:00
docker_service.ts fix(GPU): detect NVIDIA GPUs via Docker API instead of lspci 2026-02-08 15:18:52 -08:00
docs_service.ts feat: zim content embedding 2026-02-08 13:20:10 -08:00
download_service.ts fix(Downloads): sort active downloads by progress descending 2026-02-08 13:14:04 -08:00
map_service.ts fix(Curated Collections): ensure resources are not duplicated on fetch-latest 2026-02-04 21:35:18 -08:00
ollama_service.ts feat: display model download progress 2026-02-06 16:22:23 -08:00
queue_service.ts feat: background job overhaul with bullmq 2025-12-06 23:59:01 -08:00
rag_service.ts feat: zim content embedding 2026-02-08 13:20:10 -08:00
system_service.ts fix(System): show host OS, hostname, GPU instead of container info 2026-02-08 13:23:39 -08:00
system_update_service.ts feat: [wip] self updates 2026-01-15 15:54:59 -08:00
zim_extraction_service.ts feat: zim content embedding 2026-02-08 13:20:10 -08:00
zim_service.ts feat: zim content embedding 2026-02-08 13:20:10 -08:00