Deploy completo de Ollama + Open WebUI con soporte para GPU NVIDIA. Perfecto para ejecutar LLMs localmente en tu computadora.
- 🚀 Setup en 5 minutos - Un solo comando para iniciar
- 🎮 Soporte GPU NVIDIA - Aceleración por hardware (Linux/WSL2)
- 💻 Modo CPU - Funciona sin GPU (más lento)
- 🌐 Interfaz web moderna - Open WebUI estilo ChatGPT
- 🔒 100% local - Sin enviar datos a la nube
- 📦 Múltiples configuraciones - Elige según tu hardware
- Docker + Docker Compose
- 8 GB RAM
- 20 GB espacio en disco
- GPU NVIDIA con 6GB+ VRAM (GTX 1060 o superior)
- Driver NVIDIA actualizado
- NVIDIA Container Toolkit (ver Guía GPU)
- 16 GB RAM
- 50 GB espacio en disco
git clone <tu-repo-url>
cd ollamaTenemos 3 configuraciones según tu hardware:
| Archivo | Uso | Requisitos |
|---|---|---|
docker-compose.yml |
Por defecto - GPU Linux/WSL2 | GPU NVIDIA + Container Toolkit |
docker-compose.wsl2.yml |
GPU en Windows WSL2 | Windows + WSL2 + Driver NVIDIA |
docker-compose.cpu.yml |
Sin GPU (fallback) | Solo CPU |
# Si tu GPU ya está configurada:
docker compose up -d
# Si usas WSL2 en Windows:
cp docker-compose.wsl2.yml docker-compose.yml
docker compose up -d
# Para Linux nativo con GPU:
cp docker-compose.gpu-linux.yml docker-compose.yml
docker compose up -dcp docker-compose.cpu.yml docker-compose.yml
docker compose up -d- Open WebUI: http://localhost:3000
- Ollama API: http://localhost:11434
En el primer acceso, crea una cuenta (solo local, no se envía a ningún servidor).
# Modelo pequeño (3B - 2GB VRAM)
docker exec ollama ollama pull llama3.2:3b
# Modelo mediano (8B - 5GB VRAM)
docker exec ollama ollama pull llama3.1:8b
# Modelo grande (70B - 40GB VRAM) - Solo GPUs potentes
docker exec ollama ollama pull llama3.1:70bVer más modelos en: https://ollama.ai/library
ollama/
├── docker-compose.yml # Configuración principal (GPU)
├── docker-compose.wsl2.yml # Para Windows WSL2
├── docker-compose.cpu.yml # Sin GPU (fallback)
├── docker-compose.gpu-linux.yml # GPU Linux nativo
│
├── data/ # Volúmenes persistidos (auto-creado)
│ ├── ollama/ # Modelos y config de Ollama
│ └── open-webui/ # DB y uploads de Open WebUI
│
├── docs/ # Documentación técnica
│ ├── GPU_SETUP_GUIDE.md # Configurar GPU
│ ├── RECOMENDACION_MODELOS_RAG.md
│ └── ...
│
└── scripts/ # Scripts útiles
├── verificar-gpu.sh # Verificar GPU
├── diagnostico-gpu.sh # Diagnóstico completo
└── verificar-actualizaciones-modelos.sh
Copia .env.example a .env y personaliza:
cp .env.example .envEdita .env:
# Seguridad
WEBUI_SECRET_KEY=tu-clave-secreta-aquí
# Ajustes según tu VRAM
OLLAMA_NUM_PARALLEL=2 # Requests paralelas (1-4)
OLLAMA_MAX_LOADED_MODELS=2 # Modelos en memoria (1-3)
OLLAMA_KEEP_ALIVE=5m # Tiempo en memoria (2m-30m)| VRAM | NUM_PARALLEL | MAX_MODELS | Modelos Recomendados |
|---|---|---|---|
| 4-6 GB | 1 | 1 | llama3.2:3b, phi3:3b |
| 8-12 GB | 2 | 2 | llama3.1:8b, mistral:7b |
| 16+ GB | 3 | 3 | qwen2.5:14b, llama3.1:70b (quantized) |
Ver guía completa en docs/GPU_SETUP_GUIDE.md
# Iniciar
docker compose up -d
# Ver logs
docker compose logs -f ollama
docker compose logs -f open-webui
# Reiniciar
docker compose restart
# Detener
docker compose down
# Detener y eliminar datos
docker compose down -v# Listar modelos instalados
docker exec ollama ollama list
# Descargar modelo
docker exec ollama ollama pull <modelo>
# Ejecutar modelo (test)
docker exec ollama ollama run llama3.1:8b "Hello!"
# Ver modelos en memoria
docker exec ollama ollama ps
# Eliminar modelo
docker exec ollama ollama rm <modelo># GPU funcionando
nvidia-smi
# GPU en contenedor
docker exec ollama nvidia-smi
# Ver uso de GPU en tiempo real
watch -n 1 nvidia-smi
# Logs de GPU
docker logs ollama | grep -i "cuda\|gpu"
# Script de verificación
./scripts/verificar-gpu.sh-
Verifica driver NVIDIA:
nvidia-smi # Debe mostrar tu GPU -
Instala NVIDIA Container Toolkit:
# Ver guía completa en docs/GPU_SETUP_GUIDE.md sudo apt install nvidia-container-toolkit sudo systemctl restart docker -
Verifica en Docker:
docker run --rm --gpus all nvidia/cuda:12.2.0-base-ubuntu22.04 nvidia-smi
# Ver errores
docker compose logs
# Verificar puertos en uso
sudo lsof -i :3000
sudo lsof -i :11434
# Limpiar y reiniciar
docker compose down
docker compose up -d- Con GPU: Verifica que Ollama esté usando GPU (
docker logs ollama | grep -i gpu) - Con CPU: Es normal, usa modelos más pequeños (3b en vez de 8b)
- Poco RAM: Reduce
OLLAMA_MAX_LOADED_MODELS=1
# En docker-compose.yml, reduce estos valores:
- OLLAMA_NUM_PARALLEL=1 # De 2 a 1
- OLLAMA_MAX_LOADED_MODELS=1 # De 2 a 1
- OLLAMA_KEEP_ALIVE=2m # De 5m a 2m- Guía de Configuración GPU - Setup completo Linux/WSL2
- Recomendaciones de Modelos - Modelos para RAG
- Gestión de Modelos - Múltiples modelos
- Keep Alive - Gestión de memoria
- Actualizar Modelos - Mantener modelos actualizados
# Modelo conversacional rápido
docker exec ollama ollama pull llama3.1:8b
# Usa Open WebUI en http://localhost:3000# Modelo especializado en código
docker exec ollama ollama pull codellama:13b# Modelo de embeddings + LLM
docker exec ollama ollama pull nomic-embed-text
docker exec ollama ollama pull qwen2.5:7b¿Encontraste un problema? ¿Tienes una mejora?
- Haz fork del repo
- Crea tu branch (
git checkout -b feature/mejora) - Commit cambios (
git commit -am 'Agrega mejora') - Push al branch (
git push origin feature/mejora) - Abre un Pull Request
MIT License - ver LICENSE para detalles.
- Ollama - LLM runtime
- Open WebUI - Interfaz web
- NVIDIA Container Toolkit - GPU support
¿Preguntas? Abre un issue o consulta la documentación completa.
Star ⭐ este repo si te fue útil!