Harbor: el “todo en uno” para levantar un entorno local de LLM con un solo comando

Harbor se ha convertido en uno de los atajos más interesantes para cualquiera que quiera experimentar —o trabajar en serio— con modelos de lenguaje en local sin pelearse con decenas de docker-compose. El proyecto, disponible en GitHub, empaqueta un CLI y una app compañera capaces de iniciar, conectar y gestionar backends de inferencia, interfaces web y servicios satélite (RAG, TTS/STT, orquestación, flujos visuales, vector DBs, túneles, etc.) con apenas un par de órdenes.

La propuesta es sencilla: montar un “laboratorio” de IA local donde convivan Open WebUI y varios motores de inferencia (Ollama, llama.cpp, vLLM, TGI, SGLang, mistral.rs…), sumando además herramientas para búsqueda web/RAG (SearXNG), voz (Speaches, con STT/TTS compatibles con la API de OpenAI), generación de imágenes (ComfyUI + Flux), workflows (Dify, Flowise/LangFlow, n8n), observabilidad (LangFuse), vector stores (Qdrant) y más. Todo ello ya preconectado para que Open WebUI “vea” los servicios al arrancar.

Qué resuelve

  • Tiempo de puesta en marcha: de horas a minutos. Un stack básico (Open WebUI + Ollama) se levanta con harbor up.
  • Conexiones cruzadas listas: Open WebUI queda enlazado a SearXNG (Web RAG), Speaches (voz) o Boost (proxy de optimización) sin configuración manual.
  • Catálogo amplio de servicios: desde frontends (Open WebUI, LibreChat, ChatUI, Lobe Chat, AnythingLLM…) a backends (Ollama, llama.cpp, vLLM, TGI, TabbyAPI, KTransformers, etc.) y satélites (Dify, Perplexica, Local Deep Research, Flowise/LangFlow, n8n, Qdrant, JupyterLab…).
  • Operación unificada: logs, shells, descarga/caché de modelos (Hugging Face), perfiles de configuración, historial de comandos y eject a un docker-compose autónomo.
  • Acceso cómodo: QR y enlaces para abrir servicios desde el móvil; túnel integrado para exponer el entorno (con advertencias de seguridad).

Arranque rápido (en 8 pasos)

  1. Requisitos: Docker y Docker Compose actualizados.
  2. Instalación: sigue la guía oficial del CLI/App.
  3. Stack por defecto (Open WebUI + Ollama): harbor up
  4. Activa Web RAG con SearXNG: harbor up searxng
  5. Voz (STT/TTS) compatible con OpenAI, ya conectada: harbor up speaches
  6. Motores alternativos de inferencia (Open WebUI se conecta solo): harbor up vllm llamacpp tgi
  7. Modelos (descarga y caché compartida): harbor hf find gguf gemma-2 harbor hf download google/gemma-2-2b-it harbor llamacpp model https://huggingface.co/user/repo/model.gguf harbor vllm model google/gemma-2-2b-it
  8. Abrir, compartir y exportar: harbor open webui harbor qr harbor eject searxng llamacpp > docker-compose.harbor.yml

Servicios destacados (selección)

  • UIs: Open WebUI, ComfyUI, LibreChat, HuggingFace ChatUI, Lobe Chat, AnythingLLM, BionicGPT…
  • Backends: Ollama, llama.cpp, vLLM, Text Generation Inference (TGI), SGLang, mistral.rs, LMDeploy, AirLLM, TabbyAPI, KTransformers, KoboldCpp…
  • Satélites: SearXNG (Web RAG), Dify, Perplexica, Local Deep Research, Flowise/LangFlow, n8n, LangFuse, Open Interpreter, JupyterLab, Qdrant, Promptfoo, Traefik, MetaMCP/mcpo…
  • Voz: Speaches (ASR/TTS) enlazado a Open WebUI de serie.
  • Optimización y scripting: Harbor Boost para proxificar y guionizar flujos hacia backends LLM.

Operación del día a día (cheatsheet)

  • Logs/Shell: harbor logs llamacpp harbor shell vllm harbor exec llamacpp ./scripts/llama-bench --help
  • Gestión de modelos (HF): harbor hf scan-cache harbor hf dl -m google/gemma-2-2b-it -c 10 -s ./hf harbor ollama list
  • Perfiles de config: harbor profile save llama4 harbor profile use default
  • Config rápida: harbor config list harbor config set webui.host.port 8080
  • Historial: harbor history
  • Túnel (precaución): harbor tunnel # UI por defecto harbor tunnel vllm # servicio concreto (con auth configurada)

Casos de uso típicos

  • Laboratorio local de modelos: probar vLLM con modelos grandes y comparar frente a llama.cpp (CPU/GPU) u Ollama (comodidad).
  • RAG en escritorio: indexar documentación local y añadir SearXNG para enriquecer respuestas con búsqueda web.
  • Asistente con voz: dictado y lectura TTS/ASR vía Speaches dentro de Open WebUI.
  • Flujos de orquestación: construir pipelines con Dify o Flowise/LangFlow, y automatizar tareas con n8n.
  • Evaluación: harbor bench run, Promptfoo o LangFuse para métricas de calidad y rendimiento.

Seguridad: notas imprescindibles

  • No exponga a Internet servicios sin autenticación. Si usa harbor tunnel o Traefik, configure auth, listas de acceso y certificados. Mejor: ponga el stack tras VPN/Zero Trust.
  • Separe volúmenes de datos (modelos, índices vectoriales, configs) y programe copias de seguridad.
  • Actualice con regularidad imágenes y Docker; revise puertos publicados.
  • Para entornos productivos, use harbor eject y endurezca el docker-compose (redes privadas, read_only, no-new-privileges, límites de recursos, logs centralizados).

Ventajas y límites

Ventajas

  • Curva de entrada muy baja: “harbor up” y a trabajar.
  • Conexiones y dependencias ya resueltas; caché compartida de modelos entre motores.
  • Portabilidad: exportar a un único docker-compose replicable.
  • Ecosistema amplio y en crecimiento (RAG, voz, imágenes, workflows).

Límites

  • Está pensado para desarrollo local y prototipado, no como plataforma de despliegue empresarial.
  • La seguridad depende de cómo se exponga y configure; no sustituye a políticas ni a un DevSecOps formal.
  • El rendimiento real vendrá determinado por el hardware (CPU/GPU/RAM/almacenamiento) y por el motor elegido.

Conclusión

Harbor baja radicalmente la fricción para levantar un entorno completo de IA generativa en local. Para equipos técnicos que prototipan agentes, RAG, voz o generación multimodal —o para profesionales que necesitan un “laboratorio” reproducible— ofrece un equilibrio muy atractivo entre comodidad, variedad de servicios y control. Quien ya domine Docker y tenga sus propios compose quizá no “necesite” Harbor; aun así, la unificación operativa (perfiles, historial, cachés, eject) y el catálogo preconectado lo convierten en un acelerador difícil de ignorar.


Preguntas frecuentes (FAQ)

1) ¿Qué hardware mínimo es recomendable para usar Harbor con modelos actuales?
Para LLMs ligeros (2–7 B parámetros) basta con CPU moderna y 16–32 GB de RAM. Para modelos medianos o aceleración seria, una GPU con 8–24 GB de VRAM (o más) marca la diferencia, especialmente con vLLM o llama.cpp con offloading.

2) ¿Puedo usar mis propios modelos y compartir la caché entre backends?
Sí. Harbor integra utilidades de Hugging Face y, cuando es posible, comparte caché entre servicios. Ejemplos:

harbor hf download google/gemma-2-2b-it
harbor vllm model google/gemma-2-2b-it
harbor llamacpp model https://…/model.gguf

3) ¿Es seguro abrir el entorno a Internet con harbor tunnel?
Solo si configura autenticación, limita accesos y entiende los riesgos. Harbor avisa explícitamente: no es seguro por defecto. Para trabajo remoto, mejor emplear VPN/Zero Trust y exponer únicamente lo imprescindible.

4) ¿Sirve Harbor para producción?
El proyecto se posiciona como ayuda para entornos locales de desarrollo. Para producción, lo recomendable es exportar con harbor eject y endurecer el despliegue (TLS, redes privadas, políticas, observabilidad y backups) o integrar los servicios en su plataforma habitual (K8s, Nomad, etc.).

Scroll al inicio