[idea] Docker 04/14: Headless entry for the sidecars

Cerrado
#2,104 5 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

@Protocol-zero-0 ya está trabajando en esto.

Desde el 10/10/2026.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
55/100
Tipo de issue
Nueva funcionalidad
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
node.js, typescript
Área
backend, devops

Línea de trabajo

Read the Docker proposal’s supervisor section and inspect surfsense_local/electron/src/headless/main.ts, electron/src/headless/context-from-env.ts, and boot.ts; this issue depends on #2103 being merged first. Start by checking the package’s Node 24 test setup and the existing boot/context patterns. Done means the documented command starts the API and both workers, /health responds, Ctrl-C stops every child, and context-from-env tests pass.

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 4 of 14 of #2100: running SurfSense in Docker. Depends on #2103; start once it is merged.

A Node entry that runs the API, the workers and the model servers without Electron, which is what the container will run.

Design: Docker proposal, The supervisor, shared with Electron

What to change

  • surfsense_local/electron/src/headless/main.ts: build the context, call boot.ts, wait for /health, forward SIGTERM and SIGINT to every child, exit when the API exits.
  • electron/src/headless/context-from-env.ts: the data dir, the backend dir, the runtime and model dirs and the secret, from environment variables, with the packaged-only environment (HF_HUB_OFFLINE) set when asked.
  • It runs as TypeScript on Node 24, as the package's tests do; no build step.

Done when

  • On a dev machine, node src/headless/main.ts with the documented variables starts the API and both workers, and /health answers.
  • Ctrl-C stops every child.
  • Tests for context-from-env.ts.

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
12 h 33 min
PR fusionados (30 d)
173

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.