Proyecto Personal Activo

IA Generativa
en Local

Despliegue completo de un ecosistema de Inteligencia Artificial sobre Linux y Docker. Sin dependencia de servicios externos, sin envío de datos a la nube. 100% privado, 100% tuyo.

100% Local & privado
Multi Usuario en red local
RAG Lectura de archivos
0€ Subscripciones IA

Introducción & Propósito

En la actualidad, la soberanía de los datos y la privacidad se han convertido en pilares fundamentales del desarrollo tecnológico. Este proyecto nace de la necesidad de desplegar un ecosistema de Inteligencia Artificial de alto rendimiento que funcione de manera 100% local, eliminando la dependencia de servicios en la nube y garantizando la seguridad de la información.

El despliegue cubre el proceso completo de configuración de un entorno sobre Linux, utilizando Ollama como motor de modelos de lenguaje (LLM), Docker + Open WebUI para la interfaz multiusuario, y ComfyUI + Flux.1 para la generación avanzada de imágenes. El objetivo es demostrar que con hardware de consumo es posible alcanzar flujos de trabajo profesionales en IA con latencia mínima y control total.

Ningún dato abandona la red local. Los modelos se ejecutan íntegramente en la GPU local, sin APIs externas ni suscripciones de pago.

Ollama Open WebUI Docker ComfyUI Flux.1 GGUF Mistral / Llama

Requisitos del Sistema

Hardware

La VRAM de la GPU es el factor crítico. Con 16GB se pueden cargar modelos como Mistral 12B, modelos de 24b como máximo o Flux.1 íntegramente en GPU, lo que da velocidades de inferencia muy superiores a usar RAM del sistema.

ComponenteEspecificaciónRol
CPUIntel i5-13600KFCómputo auxiliar y Docker
RAM2 × 8GB Kingston Fury 3200MHzSistema y contenedores
GPUNVIDIA RTX 4060 Ti 16GB VRAMInferencia IA (CUDA)
Almacenamiento1TB NVMe M.2 KingstonModelos y contenedores
Sistema OperativoUbuntuHost principal
Dependencias de Software

Docker

Para el aislamiento de la interfaz de usuario (Open WebUI) en contenedores.

Python 3.10+

Necesario para los entornos virtuales de ComfyUI y las dependencias de PyTorch.

Drivers NVIDIA + CUDA

Drivers actualizados con soporte CUDA para aceleración GPU en inferencia.

Ollama — Motor de Inferencia

Ollama actúa como el backend o "cerebro" encargado de ejecutar los modelos LLM en local. Se instala como servicio del sistema y detecta automáticamente la GPU NVIDIA disponible.

Instalación
# Instalación automática oficial
curl -fsSL https://ollama.com/install.sh | sh

# Verificar que el servicio está activo
# Acceder a: http://localhost:11434
# Debe mostrar: "Ollama is running"

El instalador descarga los binarios, crea el usuario de sistema ollama, configura un servicio systemd con arranque automático y detecta el hardware gráfico NVIDIA.

Descarga de Modelos LLM
# Descargar modelo (buscar en https://ollama.com/library)
ollama pull mistral-nemo # 7.1 GB — 12B parámetros
ollama pull llama3.1 # 4.7 GB — 8B parámetros

# Listar modelos instalados
ollama list

Asegúrate de tener suficiente VRAM antes de descargar modelos grandes. Mistral 12B requiere ~8GB VRAM en cuantización Q4.

Exposición a la Red Local

Por defecto, Ollama solo escucha en 127.0.0.1. Para que el contenedor Open WebUI o dispositivos de la red puedan conectarse, hay que cambiar el bind address:

# Editar la configuración del servicio systemd
sudo systemctl edit ollama.service

# Añadir en la sección [Service]:
Environment="OLLAMA_HOST=0.0.0.0"

# Aplicar cambios
sudo systemctl daemon-reload
sudo systemctl restart ollama

Docker + Open WebUI

Open WebUI es la interfaz web que conecta con el backend de Ollama. Se despliega como contenedor Docker aislado con datos persistentes y se levanta automáticamente al reiniciar el equipo.

Instalación de Docker
# Instalar Docker desde repositorios oficiales de Ubuntu
sudo apt update && sudo apt install docker.io -y

# Añadir usuario al grupo docker (evitar usar sudo constantemente)
sudo usermod -aG docker $USER
newgrp docker
Despliegue de Open WebUI
docker run -d \
  --network host \ # Comparte la red con el PC (necesario para ver Ollama)
  -v open-webui:/app/backend/data \ # Datos persistentes
  --name open-webui \
  --restart always \ # Arranca automáticamente al reiniciar
  ghcr.io/open-webui/open-webui:main

La interfaz queda disponible en http://localhost:8080. En el primer acceso se crea una cuenta de administrador local — ningún dato se envía a servidores externos.

Activo — Puerto 8080
Configuración de Conexión

En el Panel de Administración → Ajustes → Conexiones, configura la URL de Ollama:

# Si usas --network host:
http://127.0.0.1:11434

# Si usas red de Docker estándar:
http://host.docker.internal:11434

Open WebUI soporta múltiples cuentas de usuario. Cada usuario puede tener conversaciones independientes, sus propios archivos (RAG) y configuraciones personalizadas.

Generación de Imágenes

Para la generación de imágenes se usa ComfyUI, una interfaz basada en nodos altamente modular, junto con el modelo Flux.1 en versión cuantizada (GGUF) para optimizar el uso de VRAM.

ComfyUI — Instalación
# Instalar dependencias
sudo apt install git python3-venv python3-pip -y

# Clonar y preparar entorno
mkdir -p ~/IA && cd ~/IA
git clone https://github.com/comfyanonymous/ComfyUI.git
cd ComfyUI

# Crear entorno virtual e instalar PyTorch con soporte CUDA
python3 -m venv venv && source venv/bin/activate
pip install torch torchvision torchaudio \
  --extra-index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt

# Iniciar ComfyUI (acceder en http://127.0.0.1:8188)
python main.py
Flux.1 GGUF — Modelo de Imágenes

El modelo Flux.1 Dev original es demasiado grande para caber en muchas configuraciones. Se utiliza la versión cuantizada Q4_K_S (6.81 GB) desde HuggingFace, que reduce el consumo de VRAM sin pérdida de calidad perceptible.

# Instalar soporte GGUF para ComfyUI
cd ~/IA/ComfyUI/custom_nodes
git clone https://github.com/city96/ComfyUI-GGUF.git
cd ..
pip install -r custom_nodes/ComfyUI-GGUF/requirements.txt

# Mover el modelo a su carpeta correspondiente
mv flux1-dev-Q4_K_S.gguf models/unet/

# Descargar y colocar los componentes adicionales:
# - t5xxl_fp8_e4m3fn.safetensors → models/clip/
# - clip_l.safetensors → models/clip/
# - ae.safetensors (VAE) → models/vae/

El tiempo de generación varía según la resolución y los pasos de muestreo. En una RTX 4060 Ti 16GB, una imagen de 1024×1024 tarda aproximadamente 60 segundos.

Integración Final

Con todos los componentes instalados, el ecosistema de IA queda completamente operativo en la red local. Cualquier dispositivo conectado a la misma red (incluido el móvil) puede acceder a la interfaz de chat y generación de imágenes.

Chat Multimodal

Open WebUI en http://[IP-LOCAL]:8080 — Selecciona Mistral, Llama u otro modelo instalado. Sube documentos PDF o imágenes para activar capacidades RAG.

Generación de Imágenes

ComfyUI en http://[IP-LOCAL]:8188 — Configura el workflow con Flux.1 GGUF, CLIP/T5 y VAE. Escribe el prompt en inglés para mejores resultados.

Acceso desde Móvil

Conecta el móvil a la misma WiFi y accede con la IP del servidor. Crea una cuenta de usuario en Open WebUI para tener tu propio historial de conversaciones.

El sistema está 100% operativo en local. Sin API keys, sin costes recurrentes, sin envío de datos a terceros. La privacidad es la característica principal, no un extra.