Harbor en github.com/av/harbor es una CLI de código abierto y una aplicación complementaria que reúne servicios de IA locales con Docker Compose. Un básico albergar puede iniciar Ollama y Open WebUI ya conectados; Agregar identificadores de servicio puede conectar la búsqueda, la voz, la generación de imágenes, las puertas de enlace, la observabilidad y otros componentes en la misma pila. El proyecto tiene licencia Apache-2.0.
Este no es el registro de contenedores CNCF Harbor en puerto/puerto. Tampoco es un LLM, un límite de seguridad o una plataforma de producción administrada. Es una capa de integración rápida en torno a muchas imágenes mantenidas de forma independiente. Harbor reduce el trabajo de configuración; el operador aún posee la procedencia de la imagen, los puertos expuestos, la autenticación, la capacidad de la GPU, las licencias de modelo, los datos persistentes, las actualizaciones y las vulnerabilidades de cada servicio.

Una pila de IA local es una red, no una aplicación
navegador/cliente de codificación
|
v
[Open WebUI / API puerta de enlace]
|
.------+---------+--------------.
vvv
[Ollama] [llama.cpp] [vLLM] inferencia del modelo
| | |
'----------------+-----------------------'
|
.---------+----------.
vv
[SearXNG] [Discursos] herramientas/discurso
|
internet
Red Docker ≠ red confiable
anfitrión local ≠ automáticamente privado
Harbor selecciona Redactar fragmentos y configuración entre servicios para que los consumidores puedan encontrar proveedores por nombre de servicio interno y ruta esperada API. Esa conveniencia amplía el gráfico de confianza: una interfaz de usuario web puede llegar a un backend modelo, un servicio de búsqueda y un motor de voz; Los complementos o agentes pueden llamar aún a más puntos finales. Los datos del inventario fluyen antes de agregar servicios.
Roles de servicio y la decisión que cada uno presenta
| capa | Ejemplos documentados por Harbor | Decisión del operador |
|---|---|---|
| backend de inferencia | Ollama, llama.cpp, vLLM, SGLang y otros | Modelo, cuantificación, GPU, contexto, licencia y exposición API |
| Interfaz | Open WebUI e interfaces de chat alternativas | Autenticación, usuarios, historial, cargas y herramientas. |
| Puerta de enlace/enrutador | LiteLLM, Bifrost, Harbor Impulso | Claves, respaldos, registros, cuotas y enrutamiento de proveedores |
| Recuperación/búsqueda | SearXNG, servicios de investigación y RAG | Tráfico saliente, privacidad de índices, citas e inyección rápida |
| Medios | Discursos, ComfyUI y servicios de voz/diseño | Derechos de modelo, disputa por GPU y revisión de medios generados |
| Agente/flujo de trabajo | Dify, n8n, codificación/servicios de agente | Autoridad de herramientas, credenciales, sandboxing y efectos secundarios |
| Proxy/acceso | Traefik y túnel incorporado. | TLS, nombres de host, autenticación y exposición a Internet |
Instalar con una cadena de suministro revisable
Los materiales oficiales muestran scripts de instalación y operación basada en Docker. Un comando como rizo... | fiesta es conveniente pero ejecuta contenido de red mutable inmediatamente. Para un uso controlado, descargue el script, inspecciónelo, fije una confirmación/etiqueta y verifique la propiedad del repositorio antes de ejecutarlo. Revise las definiciones de Dockerfiles y Compose para los servicios seleccionados.
Etiquetas de contenedores como último no son reproducibles. Fije resúmenes de imágenes para un entorno estable, registre la versión de Harbor y exporte la configuración de redacción efectiva. Escanee imágenes y listas de materiales de software según su póliza. Una imagen oficial aún puede contener una capa base vulnerable.
| artefacto | Registro | ¿Por qué? |
|---|---|---|
| Harbor CLI/aplicación | Versión, confirmación y hash del instalador | Reproducir el comportamiento de orquestación |
| Redactar configuración | Nombres de archivos y entornos renderizados/expulsados | Sepa lo que realmente se ejecutó |
| Imagen del contenedor | Registro, repositorio y resumen | Evite la deriva silenciosa de etiquetas |
| modelo | Fuente, revisión, hash, cuantificación y licencia. | Calidad, seguridad y procedencia legal |
| Perfil | Archivo local revisado y suma de comprobación | Los perfiles pueden cambiar puntos finales y secretos |
Planificación de memoria y GPU
Harbor puede detectar capacidades y pasar recursos de GPU a contenedores compatibles, pero no puede adaptar cargas de trabajo incompatibles. Calcule los pesos del modelo, la caché KV, la sobrecarga del tiempo de ejecución y las solicitudes simultáneas. Un modelo que se carga correctamente aún puede fallar en el contexto solicitado o cuando ComfyUI y los servicios de voz compiten por la VRAM.
| Carga de trabajo | Controlador de capacidad | prueba |
|---|---|---|
| Chat de usuario único | Pesos del modelo + un caché KV | Tiempo hasta el primer token y tokens/seg en el contexto objetivo |
| RAG de contexto largo | Caché KV y preprocesamiento rápido | VRAM/RAM máxima y latencia en un tamaño de documento realista |
| Múltiples usuarios | Fragmentación por lotes, colas y caché | Latencia P50/P95 y solicitudes rechazadas bajo carga |
| Generación de imágenes | Modelo de difusión y resolución. | Contención mientras el backend de LLM está activo |
| Canalización del habla | Duración del audio, modelo y factor de tiempo real. | Latencia de captura a respuesta de extremo a extremo |
Establezca cuotas de memoria, CPU, GPU y disco cuando sea práctico. Monitorear la temperatura y la energía en una estación de trabajo. Evite asumir que “local” significa gratis: incluya la depreciación del hardware, la electricidad, el almacenamiento, la ingeniería y la capacidad inactiva en el costo por tarea aceptada.
Puertos y autenticación
Vincula los servicios de desarrollo al loopback a menos que otro host deba alcanzarlos. Los puertos publicados en Docker pueden eludir las suposiciones sobre un firewall de host. Enumere los oyentes después del inicio y pruebe desde otro dispositivo. Muchos puntos finales locales de LLM aceptan claves ficticias o ninguna API porque esperan una máquina confiable; no los exponga a una LAN o Internet sin cambios.
El proyecto advierte explícitamente que conectar un servicio a Internet no es seguro sin autenticación. tratar túnel del puerto como evento de exposición: requiere una identidad sólida, TLS, límites de velocidad, límites de tamaño de solicitud, registros y un objetivo limitado. Nunca haga un túnel en un extremo vLLM/Ollama sin procesar o en una interfaz de usuario de administrador con credenciales predeterminadas.
| Exposición | Control mínimo | Riesgo residual |
|---|---|---|
| Solo bucle invertido | Seguridad de la cuenta del anfitrión | Solicitud de navegador/proceso local malicioso |
| LAN confiable | Firewall, autenticación y subred segmentada | Par comprometido y Wi-Fi débil |
| Proxy inverso/VPN | SSO/MFA, TLS y política de acceso | Mala configuración del proxy y sesión robada |
| Túnel público | Todo lo anterior más protección y monitoreo contra abusos | Escaneo de Internet, costo/DoS y extracción de modelos |
Secretos y confianza entre servicios
Las puertas de enlace y las UI pueden necesitar API claves para modelos alojados, búsqueda o almacenamiento. Coloque los secretos en un almacén administrado o en un archivo de entorno protegido que esté excluido de Git. Prefiera claves de bajo alcance y específicas del servicio y rótelas. Inspeccionar el entorno de contenedores efectivo y los archivos montados; una interfaz de usuario no debería recibir una clave de backend simplemente porque ambas comparten un proyecto de Compose.
Los API compatibles con OpenAI crean compatibilidad de interfaz, no autenticación o semántica idéntica. Una clave ficticia que funcione localmente no debe reutilizarse como control de acceso real. Verifique la transmisión, las llamadas a herramientas, la salida estructurada, los nombres de los modelos, los límites y el comportamiento de error para cada par de cliente/backend.
Datos persistentes, copias de seguridad y eliminación.
Asigne cada volumen: caché de modelo, base de datos de chat, documentos cargados, índices vectoriales, imágenes generadas, registros y telemetría de puerta de enlace. Decide qué sobrevive abajo, actualizaciones y cambios de perfil. Cifrar discos y copias de seguridad. Pruebe la restauración con los mismos servicios anclados.
- Separe los cachés de modelos reemplazables de los datos de usuario irremplazables.
- No haga una copia de seguridad de las claves API dentro de las bases de datos de la aplicación cuando sea posible evitarlo.
- Establecer retención para chat y documentos cargados; la eliminación debe cubrir los índices de vectores y las miniaturas.
- Antes de eliminar un servicio, exporte los datos en un formato documentado y confirme la limpieza del volumen.
Los perfiles son configuración ejecutable.
Los perfiles Harbor guardan la configuración para escenarios y se pueden importar desde una URL. Un perfil puede alterar versiones de imágenes, puntos finales, argumentos y potencialmente credenciales. Nunca aplique directamente un perfil remoto que no sea de confianza. Descargue, inspeccione, fije y elimine secretos; Trate la revisión del perfil como un cambio de código.
Mantener perfiles como privado sin conexión, gpu-chat y prueba de trapo con listas de servicios y presupuestos explícitos. Evite un perfil predeterminado en constante crecimiento que inicia silenciosamente docenas de contenedores y amplía la superficie de ataque.
Web RAG agrega un canal de contenido no confiable
Una pila Harbor que combina Open WebUI, SearXNG y un LLM puede buscar en la web y utilizar los resultados como contexto. El texto web puede contener inyecciones rápidas y afirmaciones falsas. Etiquete el contenido recuperado como datos que no son de confianza, restrinja las herramientas, conserve las URL y solicite citas. No permita que las instrucciones de la página accedan a secretos o invoquen puntos finales administrativos.
Las consultas de búsqueda y las páginas recuperadas también salen de la máquina incluso cuando el LLM es local. Documente esta excepción en cualquier reclamo de privacidad. Los registros de proxy y DNS pueden exponer la intención del usuario.
Actualiza una capa a la vez
| Cambiar | evidencia canaria | Activo de reversión |
|---|---|---|
| Harbor actualización | Pruebas de humo y diferencias de composición renderizadas | CLI/versión y configuración anteriores |
| Imagen de servicio | Comprobaciones de esquema, autenticación, interfaz de usuario y de integración | Resumen anterior e instantánea del volumen |
| modelo | Calidad, llamada de herramientas y referencia de latencia | Hash del modelo anterior |
| Controlador/tiempo de ejecución de GPU | Todos los backends cargan y mantienen la carga de trabajo objetivo | Imagen/controlador de host en buen estado |
| Perfil | Diferencia de puerto, secreto y flujo de datos | Perfil anterior versionado |
Haga una copia de seguridad del estado, detenga las escrituras y pruebe la compatibilidad antes de una migración. Los “inicios de contenedores” no son suficientes: envíe mensajes conocidos, realice la recuperación de RAG, pruebe las llamadas a herramientas y verifique la persistencia del historial/usuario.
Utilice la expulsión como ruta de graduación
expulsión del puerto puede producir una representación Compose independiente de servicios y variables seleccionados. Esto es valioso cuando una combinación experimental se vuelve importante: revisar el resultado, reemplazar etiquetas flotantes, externalizar secretos, definir controles de estado, copias de seguridad, monitoreo y propiedad, y luego administrarlo como una infraestructura ordinaria.
La expulsión no es un endurecimiento automático de la producción. La composición generada refleja las suposiciones del experimento. La producción puede requerir Kubernetes u otro programador, bases de datos externas, alta disponibilidad, escalado automático, registros de auditoría y recuperación ante desastres probada.
Cuadro de mando de evaluación
| Dimensión | Medida | Pasar pregunta |
|---|---|---|
| Valor de configuración | Tiempo desde el host limpio hasta el escenario de trabajo | ¿Harbor reduce materialmente el tiempo de configuración repetible? |
| Fiabilidad | Arranque en frío, reinicios y recuperación de dependencia fallida | ¿Puede otro operador recuperarlo? |
| Calidad | Punto de referencia de tareas en modelos/configuraciones anclados | ¿Son suficientes los resultados aceptados? |
| Rendimiento | Latencia, rendimiento, VRAM y cola | ¿Cumple con una carga concurrente real? |
| Seguridad | Puertos, autenticación, secretos, escaneos y flujos de datos. | ¿Está justificada la autoridad de cada servicio? |
| Portabilidad | Expulsar y restaurar en un host limpio | ¿Puede la pila dejar Harbor sin perder datos? |
Alternativas
| Opción | Mejor ajuste | Compensación versus Harbor |
|---|---|---|
| Harbor (av) | Explorando muchos servicios de IA locales precableados | Amplio catálogo de servicios que cambia rápidamente |
| Ollama + Open WebUI manualmente | Chat local simple y estable | Menos abstracción y auditoría más sencilla, más cableado manual |
| LM Studio | Descarga y chat del primer modelo de escritorio/API | Menos orquestación de composición multiservicio |
| Docker Compose construido internamente | Pequeña pila de propiedad de producción | Más ingeniería inicial, superficie mínima más clara |
| Kubernetes/timón | Plataforma de producción multinodo | Complejidad operativa mucho mayor |
| Modelo gestionado/plataforma API | Equipos que evitan la infraestructura de GPU | Costo de uso, cargas y dependencia del proveedor |
Preguntas frecuentes
¿Es este el registro de contenedores Harbor?
No. Este listado apunta a av/puerto, un orquestador local de pilas de IA. El proyecto de registro es puerto/puerto.
¿Es Harbor un LLM?
No. Descarga/ejecuta y conecta servidores modelo, interfaces de usuario y herramientas de soporte.
¿Es gratis?
El proyecto tiene licencia Apache-2.0. Los modelos, los APIs alojados, la electricidad, el hardware y los servicios de terceros pueden costar dinero.
¿Local significa privado?
Solo si todos los servicios, modelos, herramientas y almacenamiento seleccionados permanecen locales y configurados de forma segura. La búsqueda, la nube APIs y los túneles crean flujos externos.
¿Puedo exponerlo de forma remota?
El proyecto incluye opciones de túnel y proxy, pero advierte sobre la exposición a Internet. Utilice controles de VPN/proxy inverso autenticados y nunca exponga servicios sin autenticar.
¿Está listo para producción?
Es una excelente capa de exploración/integración. La preparación para la producción depende de los servicios seleccionados además de su fijación, seguridad, monitoreo, copias de seguridad y soporte.
¿Cómo puedo migrar?
Utilice el flujo de trabajo de expulsión como archivo inicial de redacción, luego protéjalo y opere de forma independiente.
fuentes primarias
- Repositorio oficial Harbor, descripción general del servicio y licencia
- Guía de instalación oficial
- Referencia oficial de CLI
- Guía oficial de backend
- Guía oficial web RAG local
- Documentación de seguridad de Docker Engine
- Prácticas de variables de entorno de Docker Compose
- Guía de inyección rápida de OWASP
- Registro CNCF Harbor para desambiguación
Última revisión el 26 de julio de 2026. Harbor y su catálogo de servicios avanzan rápidamente. Fije el orquestador, renderice Compose, imágenes, modelos y perfiles y vuelva a ejecutar comprobaciones de seguridad y compatibilidad después de los cambios.
