[idea] Docker 13/14: Refuse a CUDA image with no GPU

Abierto
#2,113 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
76/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
docker, typescript

Línea de trabajo

Start with surfsense_local/electron/src/headless/gpu-check.ts and the linked GPU design section, then inspect how the headless app identifies CUDA images and how its tests run in CI. Implement the refusal and SURFSENSE_ALLOW_CPU=1 bypass, keeping CPU images out of the check. Done means CI verifies both startup outcomes on a runner without a GPU.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

desktop docker enhancement help wanted

Which part? Desktop app

What would you like?

Step 13 of 14 of #2100: running SurfSense in Docker. Depends on #2112; start once it is merged.

Stop the most common GPU mistake: starting a CUDA image without giving it the card, which silently runs on the CPU.

Design: GPU images, A CUDA image with no GPU

What to change

  • surfsense_local/electron/src/headless/gpu-check.ts: on a CUDA image, run llama-server --list-devices before boot; with no CUDA device, exit with a message naming the fix.
  • SURFSENSE_ALLOW_CPU=1 skips the refusal.

Done when

  • A -cuda image started without --gpus exits with the message.
  • With SURFSENSE_ALLOW_CPU=1 it starts on the CPU.
  • The CPU image never runs the check.
  • CI checks both cases on a runner without a GPU.

Scope: code and tests only. Don't edit docs/ or AGENTS.md, except to fix a link this change breaks; the maintainers update the docs when the Docker work ships.

Why would it help?

Each step leaves something that runs, so the Docker image is built and reviewed one piece at a time.

Lenguaje dominante
Python
Estrellas
16.3k
Forks
1.6k
Merge medio
14 h 22 min
PR fusionados (30 d)
175

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de MODSetter/SurfSense

Todos los issues de MODSetter/SurfSense

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.